我已经用socket.io实现了一个简单的node.js服务器。服务器每隔一段时间发出一条消息。 iOS客户端从服务器接收socket.io消息并处理数据,但是随后对UILabel.text的更新不同步。例如,客户端可以接收以下值[1,2,3,4,5],直到服务器发出2时才显示值1,直到服务器发出3时才显示值2,并且等等。
这是iOS代码:
@IBOutlet weak var testLbl: UILabel!
let manager = SocketManager(socketURL: URL(string: "https://localhost:3000")!, config: [.log(true), .compress])
var socket:SocketIOClient?
override func viewDidLoad() {
socket = manager.socket(forNamespace: "/namespace")
socket?.joinNamespace()
addHandler()
socket?.connect()
}
func addHandler () {
socket.on("incoming", callback: { (dataArray, ack) in
var responseData = dataArray[0] as? [[String:String]]
var responesDataIter = responseData![0].makeIterator()
var xx: String = ""
while let xx = responesDataIter.next() {
item = xx.value
}
self.testLbl.text! = item
})
有指针吗?