swift CocoaAsyncSocket connectToHost 方法参数错误

swift CocoaAsyncSocket connectToHost method arguments error

我将属性定义如下:

let addr:String = "192.168.31.218"
let port :UInt16 = 8000
let timeout:Double = 5.0
var socket: GCDAsyncSocket!
var errPtr : NSError?

我如下调用该方法:

socket.connectToHost(addr, onPort: port, withTimeout: timeout, error:&errPtr)

xcode7提醒我:

Cannot invoke 'connectToHost' with an argument list of type '(NSString, onPort: UInt16, withTimeout: Double, error: inout NSError?)'

方法签名是:

  • (BOOL)connectToHost:(NSString *)hostname onPort:(UInt16)port withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr

很奇怪它在 xcode6.4 和 swift1.2 中工作,但现在我在 xcode7 和 swift2.0 中升级了它。出现以上错误。

试试这个!!

    do {
        try socket.connectToHost(addr, onPort: port, withTimeout: timeout)
    } catch let e {
        print(e)
    }

它对我有用。(Xcode:7 或更高版本,CocoaAsyncSocket:7.4.2)