У меня есть сервер, который через 10 секунд отправляет true. Что я могу сделать, чтобы приложение iOS подождало, пока оно не получит это истинное значение с сервера? 10 секунд не являются постоянными, мне нужно, чтобы приложение могло получать логическое значение независимо от того, сколько времени занимает сервер.Ждите сообщения, используя socket.io и Swift 3
Мое приложение будет использоваться для полива воды до тех пор, пока оно не достигнет определенной высоты, после чего оно уведомит вас на вашем телефоне, когда это будет сделано.
UPDATE (Дополнительная информация):
Ссылка для руководства я следующее: http://www.appcoda.com/socket-io-chat-app/
func getChatMessage(completionHandler: (messageInfo: [String: AnyObject]) -> Void) {
socket.on("newChatMessage") { (dataArray, socketAck) -> Void in
var messageDictionary = [String: AnyObject]()
messageDictionary["nickname"] = dataArray[0] as! String
messageDictionary["message"] = dataArray[1] as! String
messageDictionary["date"] = dataArray[2] as! String
completionHandler(messageInfo: messageDictionary)
}
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.chatMessages.append(messageInfo)
self.tblChat.reloadData()
// self.scrollToBottom()
})
}
}
Я хочу сделать что-то очень похожее на это, которая постоянно получает письма с сервера и загружать их в вид. Однако этот код не работает с Swift 3/iOS 10, и я не могу найти документацию о том, как его обновить. Я попробовал просто вставить его в свой код и затем использовать рекомендованные исправления, чтобы попытаться заставить его работать, но это не так.
В конце концов, мой сервер будет размещен на Pi Zero, и мне нужно будет получить сообщение от Pi через сервер, чтобы вода достигла соответствующего уровня. Благодаря
вы можете запускать таймер, который запускается каждые 1 секунду (или каждые 0,1 секунды или что-то еще), и отправлять предупреждение и заканчивать таймер, если true –