我计划在 Cocoapods 上使用 AZSocketIO,以使用 socket.io。我想使用 NSErrorPointer 来获取调用 AZSocketIO#emit() 时的错误。
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
如何解决?
最佳答案
您可以尝试声明 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)
关于swift - 使用 NSErrorPointer 在 Obj-C 和 Swift 之间使用桥梁时会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24038226/