作为iOS开发人员,我是第一次使用套接字。我创建了一个自定义的singleton类,在所述类中建立了所有套接字连接。
class SocketIOConnectionManager {
let shared = SocketIOConnectionManager()
let mySocket = SocketManager(URL.....)
function getTime(_ completed:(String) -> Void){
mySocket.joinnamespace("/...")
mySocket.on(".....") { (data, Ark) in
if let innerData = data {
completed(innerData as! String)
}
}
mySocket.connect()
}
}
然后我在HomeVC中实例化该类。
class HomeVC: UIViewController {
func viewDidAppear() {
getTime()
}
func getTime() {
SocketIOConnectionManager.shared.getTime {(time)
timeLebel.text = time
}
}
}
但是,timeLabel仅更新一次(初始化时的服务器时间)。每当套接字上的时间更改时(每5秒更改一次),timeLabel不会更改。请帮助,如何解决此问题,以便HomeVC上的timeLabel反映服务器实时性。谢谢。
PS:在凝视使用它之前,我创建了一个iboutlet