swift - 使用 NSErrorPointer 在 Obj-C 和 Swift 之间使用桥梁时会出错

标签 swift

我计划在 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

如何解决?

最佳答案

您可以尝试声明 emitErrorAutoreleasingUnsafePointer<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/

相关文章:

ios - 转换从 CMMotionManager() 获取的 3D 位置以在 2D CG 坐标系上设置角度

ios - 如何快速更改不同分辨率的一个元素的位置

ios - 根据选择显示所有选定值的动态高度 MultipleSelectorRow

IOS - 位置更新不会阻止我的应用程序被终止

swift - 确定 SwiftyJSON 字典是否有 key 的最佳实践

arrays - 如何在 Swift 中的特定索引处获取和设置字符串的字符

ios - 数据输入自定义 View 的 Swift 示例(自定义应用内键盘)

ios - 非 View Controller 类中的 UITextViewDelegate

ios - 无法在 swift 中将类型 'UILabel!' 的值转换为预期的参数类型 'String'

ios - 无法将类型 'PFObject' 的值分配给 'PFObject!' 的值,Swift,Xcode