【发布时间】:2016-11-04 12:08:29
【问题描述】:
在我的Swift2 中,我有一个有效的功能:
func connectToServerWithNickname(_ nickname: String) {
print("CONNECTING TO SOCKET SERVER \(nickname)")
socket.emitWithAck("connectUser", nickname)(timeoutAfter: 3) { data in
print("CONNECTED FOR SURE")
}
}
但是当我将整个代码移动到 Swift3 时,我收到了错误:
cannot call value of non-function type 'OnAckCallback'
该方法来自socket.io 库,它看起来像这样:
/// Sends a message to the server, requesting an ack. Use the onAck method of SocketAckHandler to add
/// an ack.
public func emitWithAck(_ event: String, _ items: SocketData...) -> OnAckCallback {
return emitWithAck(event, with: items)
}
/// Same as emitWithAck, but for Objective-C
public func emitWithAck(_ event: String, with items: [Any]) -> OnAckCallback {
return createOnAck([event] + items)
}
private func createOnAck(_ items: [Any]) -> OnAckCallback {
currentAck += 1
return OnAckCallback(ackNumber: currentAck, items: items, socket: self)
}
如何修复我的代码以便编译?
【问题讨论】:
标签: ios swift socket.io swift3