我将以下属性定义为:

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提醒我:


  无法使用类型为'(NSString,onPort:UInt16,withTimeout:Double,error:inout NSError?)'的参数列表调用'connectToHost'


方法签名为:


  
  (BOOL)connectToHost:(NSString *)主机名
             onPort:(UInt16)port
        withTimeout:(NSTimeInterval)超时
              错误:(NSError **)errPtr
  


奇怪的是它可以在带有swift1.2的xcode6.4中工作,但是现在我在带有swift2.0的xcode7中对其进行了升级。发生上述错误。

最佳答案

尝试这个!!

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


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

10-08 03:18