Я впервые работаю с сокетами как разработчик iOS. Я создал собственный одноэлементный класс, сделал все мои сокет-соединения в указанном классе.
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 не изменяется. Помогите пожалуйста, как я могу это исправить так, чтобы timeLabel на HomeVC отражал работу сервера в режиме реального времени. Спасибо.
PS: я создал iboutlet, прежде чем я смотрел, используя его