我正在socket.io
快速的ios应用程序中实现。
目前,在几个面板上,我正在侦听服务器并等待传入消息。我这样做是通过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
并将其包含在调用的函数中呢?
嗯,我如何
—
user3766930 '16
yourValue
在该通知中调用的函数中获取此信息showSpinningWheel
?
使用
—
EI机长v2.0
.userinfo
类似 notification.userinfo
NSNotificationCenter.defaultCenter().postNotificationName("hideSpinner", object: nil, userInfo: yourvalue)