Ios 如何在swift中使用socketio
错误: 块引用 它说参数标签“String:”与任何可用的重载都不匹配 我怎样才能解决这个问题。Ios 如何在swift中使用socketio,ios,swift,Ios,Swift,错误: 块引用 它说参数标签“String:”与任何可用的重载都不匹配 我怎样才能解决这个问题。 任何帮助都将不胜感激。我建议您在尝试实现Socket IO之前先阅读Socket IO文档。要开始,您需要在套接字管理器类中具有socketClient属性,并且需要在使用套接字事件之前实例化socketClient class SocketManager { //Socket IO client instance to emit and observe events of your socke
任何帮助都将不胜感激。我建议您在尝试实现Socket IO之前先阅读Socket IO文档。要开始,您需要在套接字管理器类中具有socketClient属性,并且需要在使用套接字事件之前实例化socketClient
class SocketManager {
//Socket IO client instance to emit and observe events of your socket
private let socketClient: SocketIOClient!
private init() {
let socketUrl = "Your Socket URL here"
socketClient = SocketIOClient(socketURL: URL(string: socketURL)!)
setupEvents()
}
func setupEvents() {
socket.on("test") { dataArray, ack in
print(dataArray)
}
}
希望这能帮助您入门我建议您编写以下代码:
import SocketIO
let manager = SocketManager(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .compress])
let socket = manager.defaultSocket
socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
}
socket.on("currentAmount") {data, ack in
guard let cur = data[0] as? Double else { return }
socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in
socket.emit("update", ["amount": cur + 2.50])
}
ack.with("Got your currentAmount", "dude")
}
socket.connect()
请用正确的格式粘贴你的代码,这样对其他人的可读性会有帮助。另外,请仔细阅读堆栈溢出指南,了解如何发布一个好的问题-
import SocketIO
let manager = SocketManager(socketURL: URL(string: "http://localhost:8080")!, config: [.log(true), .compress])
let socket = manager.defaultSocket
socket.on(clientEvent: .connect) {data, ack in
print("socket connected")
}
socket.on("currentAmount") {data, ack in
guard let cur = data[0] as? Double else { return }
socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in
socket.emit("update", ["amount": cur + 2.50])
}
ack.with("Got your currentAmount", "dude")
}
socket.connect()