UILabel.text更新与Socket.io发射不同步

时间:2018-07-24 10:50:04

标签: ios swift socket.io uilabel

我已经用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
    })

有指针吗?

0 个答案:

没有答案