草庐IT

swift - 如何修复错误 "Can' t 使用类型为 ((AnyObject!, NSError!) -> Void) 的参数列表调用 'findObjectInBackgroundWithBlock'

对于下面的代码,获取Can'tinvoke'findObjectInBackgroundWithBlock'withanargumentlistoftype((AnyObject!,NSError!)->Void)错误并且无法运行解析查询背景。有什么想法吗?vardata=Query.findObjectsInBackgroundWithBlock({(object:AnyObject!,error:NSError!)->Voidin}) 最佳答案 如果您使用的是swift1.2(Xcode6.3),您需要通过以下方式调用函数:va

ios - swift 3.1 : Crash when custom error is converted to NSError to access its domain property

我的Swift应用程序有一个自定义错误系统,其中MyError只是一个符合Error的简单类。现在,只要第三方库(PromiseKit)尝试将此错误转换为NSError然后访问其domain属性,应用程序似乎就会崩溃。在我自己的代码中,这样做按预期工作,那么为什么它会在库中崩溃以及处理它的正确方法是什么?Crashed:com.apple.main-thread0libswiftCore.dylib0x1011d86d8_hidden#19226_(__hidden#19178_:1788)1libswiftCore.dylib0x1011cda3c_hidden#19206_(__h

ios - 如何将 "SignalProducer<Bool, NoError>"转换为 ReactiveCocoa 3 的 "SignalProducer<Bool, NSError>"?

我尝试创建一个Action的实例ReactiveCocoa3.letaction:Action=Action{_inifself.flag{returnself.fooSignalProducer//SignalProducer}else{returnself.barSignalProducer//SignalProducer}}此代码无法编译并出现错误'SignalProducer'isnotconvertibleto'SignalProducer'.如何转换SignalProducer至SignalProducer? 最佳答案

swift - 为什么 Error 总是 NSError?

我使用Swift3在Playground上定义了以下类:classMyError:Error{}然后,我创建此类的实例并检查它是否是NSErrorletfirstError=MyError()firstErrorisNSError//Output:false输出符合预期,我还收到一条警告,指示Castfrom'MyError'tounrelatedtype'NSError'alwaysfails。这对我来说完全有意义,但是如果我稍微更改代码并将变量声明为Error,我会得到一个奇怪的结果:varsecondError:ErrorsecondError=MyError()secondEr

swift - 如何从 catch 子句中的 NSError 获取 userInfo

如果我有一个throw方法,像这样:funcdoSomethingWithString(string:String)throws{guardstring.characters.count>0else{throwNSError(domain:"CustomErrorDomain",code:42,userInfo:["foo":"bar"])}//Dosomethingwithstring...}然后我尝试调用它并读取userInfo:do{trydoSomethingWithString("")}catchleterrorasNSError{print(error.domain)pri

objective-c - NSError、Swift 和可空性

我正在用Objective-C编写一组工具,Swift有时会使用这些工具,因此我使用了泛型和可空性。在这种情况下我该怎么办?-(NSArray*__nullable)foo:(NSError**)error;目前我收到警告:Pointerismissinganullabilitytypespecifier...forbothpointers!我几乎可以肯定我不应该这样做:-(NSArray*__nullable)foo:(NSError*__autoreleasing__nullable*__nullable)error;我是吗? 最佳答案

ios - 从 autoreleasepool block 中设置 NSError outparam 的正确方法是什么?

我有这样的方法:-(void)processAThing:(id)thingerror:(NSError*__autoreleasing*)error{@autoreleasepool{//Startprocessing.//Findsomepartwaythrougherror..if(error){*error=[NSErrorerrorWithDomain...];returnNO;}//Moreprocessing.}}这是崩溃和崩溃的,因为NSError是自动释放的,当返回发生时,池被耗尽,所以调用者得到的东西现在是假的。我知道我可以显着重新设计该方法,因此我收集了自动释放b

ios - NSError** 问题在多功能调用中反向传播

在多功能调用中面临错误反向传播的问题。例如,NSError*error=nil;EMSPlanFolder*planner=[[EMSPlanFoldersharedPlanBuilder]buildPlanFromParsePlan:planwithError:&error];if(error){//error}接下来,它进入功能:-(EMSPlanFolder*)buildPlanFromParsePlan:(EMParsedPlan*)parsedPlanwithError:(NSError*__autoreleasing*)err{........[selfdeserializ

ios - 修改 NSError localizedDescription

你们知道在NSError的localizedDescription被实例化之后是否有一个很好的方法来设置/修改它而不是重新创建它吗?我没有找到。 最佳答案 NSError与许多Cocoa类一样,类是不可变的。但是,-localizedDescription的文档指出:BydefaultthismethodreturnstheobjectintheuserinfodictionaryforthekeyNSLocalizedDescriptionKey.Iftheuserinfodictionarydoesn’tcontainavalu

cocoa-touch - iOS 中 NSErrorRecoveryAttempting、NSError 和 UIAlertView 的正确用法是什么?

我无法找到在iOS上一起使用NSError、UIAlertView和NSErrorRecoveryAttempting的正确方法示例。我能找到的大部分文档和示例涵盖了OSX上的等效功能,其中相关行为由Cocoa集成。但在iOS中,似乎有必要“手动”执行此操作,而且我找不到如何完成的好例子。我非常感谢一些使用NSError中的信息来支持从报告给用户的NSErrors恢复尝试的最佳实践示例。 最佳答案 根据Apple的文档:Important:TheNSErrorclassisavailableonbothMacOSXandiOS.Ho