ios - 使用 swift 客户端库时服务器 Socket.io 回调崩溃

标签 ios swift socket.io

我有这个快速代码:

[[self.socket emitWithAck:@"setup_request" with:@[]] timingOutAfter:0 callback:^(NSArray* data) {
   NSLog(@"%@", data);
}];

与此服务器功能配对:

client.on('setup_request', function(data, callback) {
    callback({ success:true});
});

但是在执行时,服务器崩溃并显示以下消息:

callback({ success:true});
^

类型错误:回调不是函数

我使用的是服务器版本 2.0.4 和 13.1.0 Swift 客户端库。

我看不出我做错了什么,以及如何修复此错误。感谢您的帮助。

最佳答案

所以我猜你的项目中存在某种桥接,因为显然第一个 block 是 Objective C 代码,并且你的代码是 swift 的。 另外,callback:^(NSArray* data) 表示回调需要传递一个 NSArray,但在您的代码中您传递的是一个闭包。

传递一个 NSArray :callback(["success"] as? NSArray)

关于ios - 使用 swift 客户端库时服务器 Socket.io 回调崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48221322/

相关文章:

ios - PencilKit 中的 PKToolPicker 不会显示在以编程方式创建的 UIWindow 上

ios - 关于如何记录 Websocket API 的建议

node.js - Socket.io、https 和 Express 连续连接/断开循环

objective-c - viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear 指南

ios - 如何在ios中多次调用同一个服务并存储数据

ios - 在每个 View Controller 中显示用户名 jsondata

swift - 使用添加的属性创建 UIImage 的子类

iOS 9 Alamofire 从不加载图像

ios - 如何通过 UIActivityController 分享?

javascript - Socket.IO 无法通过 https 连接