5
swift 3.0のNotificationCenterとswift 2.0のNSNotificationCenterを使用してデータを渡す方法は?
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 }) } } しかし、私はそれが間違ったアプローチであることに気づき、それを変更する必要があります-着信メッセージのリッスンを1回だけ開始し、メッセージが来たときに、このメッセージをリッスンする任意のパネルに渡します。 そのため、NSNotificationCenterを介して着信メッセージを渡したいと思います。これまでのところ、何かが起こったという情報を渡すことができましたが、データ自体は渡せませんでした。私はそれをしていた: NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil) それから私は呼ばれる関数を持っていました: func showSpinningWheel(notification: NSNotification) { } そして、私がそれを呼びたいと思ったときはいつでも、 NSNotificationCenter.defaultCenter().postNotificationName(hideSpinner, object: self) それでは、オブジェクトを渡し、messageInfo呼び出される関数に含めるにはどうすればよいですか?