最佳答案
我正在我的迅捷 ios 应用程序中实现 socket.io
。
目前在几个面板上,我正在监听服务器,等待收到的消息。我通过调用每个面板中的 getChatMessage
函数来实现:
func getChatMessage(){
SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
//do sth depending on which panel user is
})
}
}
然而,我注意到这是一个错误的方法,我需要改变它-现在我想开始监听收到的消息只有一次,当任何消息来-传递这个消息到任何面板,监听它。
因此,我想通过 NSNotificationCenter 传递传入的消息。到目前为止,我能够传递发生了什么事情的信息,但是不能传递数据本身。我是这么做的:
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil)
然后我有一个函数叫做:
func showSpinningWheel(notification: NSNotification) {
}
任何时候我想叫它,我就在做:
NSNotificationCenter.defaultCenter().postNotificationName(hideSpinner, object: self)
那么如何传递对象 messageInfo
并将其包含在被调用的函数中呢?