Tag: nserror

无法理解NSError / NSObject指针传递行为

即使我已经阅读,我现在困惑于指针指针为什么NSError需要双重间接? (指针指针)和NSError * vs NSError **等等。 我做了一些思考,仍然有一些问题。 在这里我写了这个: NSError *error = [NSError errorWithDomain:@"before" code:0 userInfo:nil]; NSLog(@"outside error address: %p", &error]; [self doSomethingWithObj:nil error:&error]; 为了testing上面的NSError方法,我写了这个: – (id)doSomethingWithObj:(NSObject *)obj error:(NSError *__autoreleasing *)error { NSLog(@"inside error address: %p", error); id object = obj; if (object != nil) { return object; } else { NSError *tmp = [NSError errorWithDomain:@"after" […]

在iOS 9.3 / Xcode 7.3中使用StoreKit常量时使用未parsing的标识符

尝试使用这些StoreKit常量之一时出现错误“使用未parsing的标识符”: SKErrorClientInvalid SKErrorPaymentCancelled SKErrorPaymentInvalid SKErrorPaymentNotAllowed SKErrorStoreProductNotAvailable SKErrorUnknown 您的代码可能如下所示: if transaction.error!.code == SKErrorPaymentCancelled { print("Transaction Cancelled: \(transaction.error!.localizedDescription)") } 什么改变了? 是否有需要导入的新模块?

Swift不转换Objective-C NSError **抛出

我有一些Objective-C遗留代码,声明类似的方法 – (void)doSomethingWithArgument:(ArgType)argument error:(NSError **)error 正如在这里写的https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html Swift会自动将产生错误的Objective-C方法转换为根据Swift原生error handlingfunction抛出错误的方法。 但在我的项目中描述的方法是这样调用的: object.doSomething(argument: ArgType, error: NSErrorPointer) 而且,当我尝试使用它们时会抛出运行时exception: let errorPtr = NSErrorPointer() object.doSomething(argumentValue, error: errorPtr) 我是否需要更多的东西来将Objective-C“NSError **”方法转换成Swift“trows”方法?

如何检测和处理UIWebView中的HTTP错误代码?

我想告诉用户何时收到HTTP错误404等。 我如何检测? 我已经试图实现 – (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error 但是当我收到404错误时不会调用它。

为什么这里使用的是“error:&error”(objective-c)

为什么这里使用的是“error:&error”(objective-c) NSError *error = nil; NSArray *array = [moc executeFetchRequest:request error:&error]; 客观的c中的对象不会有效地通过引用吗?

如何得到函数抛出的错误列表?

使用Swift现在一些函数被标记为throws ,这迫使开发人员在do – try catch块中调用函数。 但是,开发人员如何知道该函数引发的不同exception列表呢? 作为参考,这里是一行Java代码: static void employeeAge(int age) throws MyExceptionA,MyExceptionB 这里很明显,exception是2 MyExceptionA和MyExceptionB ,开发人员可以决定采取不同的行为取决于错误。 我们可以在Swift上做到这一点吗?