我打算在Cocoapods上使用AZSocketIO来使用socket.io。我想在调用AZSocketIO#emit()。
时使用NSErrorPointer来获取错误var emitError : NSError?
socket.emit("deviceInfo", args: deviceInfo, error: &emitError)
AZSocketIO.h:
- (BOOL)emit:(NSString *)name args:(id)args error:(NSError *__autoreleasing *)error ackWithArgs:(void (^)(NSArray *data))callback;
如果我运行这个程序,我会得到这样的运行时错误:
fatal error: attempt to bridge an implicitly unwrapped optional containing nil
我该如何解决?
答案 0 :(得分:1)
您可以尝试将emitError
声明为AutoreleasingUnsafePointer<NSError?>
。另请参阅https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/BuildingCocoaApps/InteractingWithCAPIs.html#//apple_ref/doc/uid/TP40014216-CH8-XID_13
var emitError: AutoreleasingUnsafePointer<NSError?>
socket.emit("deviceInfo", args: deviceInfo, error: emitError, ackWithArgs: nil)
答案 1 :(得分:0)
您忘了将nil设置为可选变量。
var emitError: NSError? = nil