私は速いiosアプリでsocket.io
を実装しています。Swift 3.0でNotificationCentreを使用し、swift 2.0でNSNotificationCenterを使用してデータを渡す方法は?
現在、いくつかのパネルで、私はサーバーを聞いて、着信メッセージを待っています。今、私は一度だけ受信メッセージのリッスンを開始したいと時に任意のメッセージ - しかし、私はそれは間違ったアプローチだ気づき、私はそれを変更する必要が
func getChatMessage(){
SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in
dispatch_async(dispatch_get_main_queue(), {() -> Void in
//do sth depending on which panel user is
})
}
}
:私は、各パネルのgetChatMessage
関数を呼び出すことによってそうしますよこのメッセージを聞くパネルにこのメッセージを渡します。
NSNotificationCenterを通じて受信メッセージを渡したいと思います。これまでのところ、何か起こったという情報を渡すことはできましたが、データそのものを渡すことはできませんでした。
func showSpinningWheel(notification: NSNotification) {
}
、私がやっていた私はそれを呼び出すしたい任意の時間:
NSNotificationCenter.defaultCenter().postNotificationName(hideSpinner, object: self)
それでは、どのように私はでき
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil)
その後、私はと呼ばれる機能を持っていた:私はであることやっていましたオブジェクトmessageInfo
を渡し、呼び出される関数にインクルードしますか?スウィフト
userinfo ... NSNotificationCenter.defaultCenter()。postNotificationName( "hideSpinner"、オブジェクト:nil、userInfo:yourvalue)を使用するメソッド –
hm ok、そしてこの 'yourValue'をどのようにして取得できますか?その通知( 'showSpinningWheel')で呼び出されますか? – user3766930
'.userinfo'を' notification.userinfo'のように使用しています –