Je suis la mise en œuvre de socket.io
dans ma swift application ios.
Actuellement sur plusieurs panneaux, je suis à l'écoute de serveur et d'attendre pour les messages entrants. Je suis en train de faire en appelant l' getChatMessage
fonction de chaque panneau:
func getChatMessage(){
SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
//do sth depending on which panel user is
})
}
}
Cependant j'ai remarqué que c'est une mauvaise approche et j'ai besoin de le changer - maintenant, je veux commencer à écouter les messages entrants qu'une seule fois et lorsqu'un message arrive - passer ce message sur un panneau qu'elle l'écoute.
Donc, je veux passer le message entrant par le biais de la NSNotificationCenter. Jusqu'à présent, j'ai pu passer l'information que quelque chose s'est passé, mais de ne pas transmettre les données lui-même. Je faisais cela par:
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil)
ensuite, j'ai eu un appel de fonction:
func showSpinningWheel(notification: NSNotification) {
}
et tout le temps je voulais appeler ce que je faisais:
NSNotificationCenter.defaultCenter().postNotificationName(hideSpinner, object: self)
Alors, comment puis-je passer de l'objet messageInfo
et l'inclure dans la fonction qui est appelée?