首页 > oc代码翻译成swift的问题

oc代码翻译成swift的问题

我写的一个库用到了CocoaAsyncSocket,然后需要用到启动后台模式这个功能,代码如下:

我想把这段OC代码转换成swift代码

[socket performBlock:^{
    [socket enableBackgroundingOnSocket];
}];

其中performBlock在CocoaAsyncSocket里是这么定义的:

- (void)performBlock:(dispatch_block_t)block
{
    if (dispatch_get_specific(IsOnSocketQueueOrTargetQueueKey))
        block();
    else
        dispatch_sync(socketQueue, block);
}

我转换成的swift代码如下,功能也运行正常,但是在提交我写的库到Cocoapods的时候,验证不通过,报错:error: value of type 'GCDAsyncSocket' has no member 'enableBackgroundingOnSocket'
所以我怀疑是不是我这里的swift写法有问题,麻烦懂的帮忙看下。
谢谢!

socket.performBlock { 
    socket.enableBackgroundingOnSocket() 
}

是有问题,需要传参数是block类型的,但是你传的不是block类型


https://github.com/emqtt/CocoaMQTT/issues/47

【热门文章】
【热门文章】