【问题标题】:Problems of using the Socket.IO-Client-Swift in objc project在 objc 项目中使用 Socket.IO-Client-Swift 的问题
【发布时间】:2015-03-25 16:54:18
【问题描述】:

我将Socket.IO-Client-Swift 导入到我的 obj-c 项目中并尝试像这样使用它

#import "socketio-Swift.h"

(socketio为项目名)

然后

SocketIOClient *client = [[SocketIOClient alloc] initWithSocketURL:@"xxx" options:nil];
[client on:@"1" callback:<#^(NSArray *, void (^)(NSArray *))callback#>];

但是我不太了解这个块,我应该如何填充这个块?

【问题讨论】:

    标签: ios objective-c socket.io


    【解决方案1】:

    socket.io 的人已经在他们的github 上更新了如何在 objc 中使用它

    SocketIOClient* socket = [[SocketIOClient alloc] initWithSocketURL:@"localhost:8080" options:nil];
    
    [socket on: @"connect" callback: ^(NSArray* data, void (^ack)(NSArray*)) {
        NSLog(@"connected");
        [socket emitObjc:@"echo" withItems:@[@"echo test"]];
        [socket emitWithAckObjc:@"ackack" withItems:@[@1]](10, ^(NSArray* data) {
            NSLog(@"Got ack");
        });
    }];
    
    [socket connect];
    

    【讨论】:

    • 能否分享最新的 swift 5 库。因为没有方法[[SocketIOClient alloc] initWithSocketURL....
    【解决方案2】:

    它应该看起来像:

    [client on:@"something" callback:^(NSArray *array, void (^action)(NSArray *actionArr)) {
        /*
         Do something
         */
        NSArray * newArr;
        action(newArr);
    }];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-02
      • 2021-09-18
      • 2018-08-21
      • 1970-01-01
      • 2021-09-26
      • 2018-03-12
      • 2016-12-16
      • 1970-01-01
      相关资源
      最近更新 更多