【发布时间】:2016-07-29 09:18:11
【问题描述】:
我通过块 NSError 并得到这个错误:
Value of type 'NSError' can never be nil, comparison isn't allowed
这是我从我的组件请求的代码,如果 smth 应该返回错误:
- (void)findPeripheralForDevice:(Device *)device completion:(void (^)(NSError *error, BOOL needsConfigure))completion;
这是我的组件界面:
func findDeviceWithSerialNumber(serial: String, completion:(error: NSError, needsConfigure: Bool) -> Void)
这就是我的代码的样子:
wirlessService.findDeviceWithSerialNumber(serial) { (error, needsConfigure) in
if error != nil { // here the error described above occurred
} else {
}
}
【问题讨论】:
-
您的
error参数未声明为可选参数。添加nullable注释。 developer.apple.com/swift/blog/?id=25 -
@EricD,是的,你是对的,但是例如,如果我直接调用
- (void)findPeripheralForDevice:(Device *)device completion:(void (^)(NSError *error, BOOL needsConfigure))completion;,则 is starnage 没有错误问题