タグ付けされた質問 「nsnotifications」

5
NSNotificationCenterでオブジェクトを渡す方法
アプリのデリゲートから別のクラスの通知レシーバーにオブジェクトを渡そうとしています。 整数を渡したいmessageTotal。今私は持っています: レシーバー: - (void) receiveTestNotification:(NSNotification *) notification { if ([[notification name] isEqualToString:@"TestNotification"]) NSLog (@"Successfully received the test notification!"); } - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissSheet) name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTestNotification:) name:@"eRXReceived" object:nil]; 通知を行っているクラスで: [UIApplication sharedApplication].applicationIconBadgeNumber = messageTotal; [[NSNotificationCenter defaultCenter] postNotificationName:@"eRXReceived" object:self]; しかし、オブジェクトmessageTotalを他のクラスに渡したいです。

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呼び出される関数に含めるにはどうすればよいですか?


14
Objective-C:NSNotificationのオブザーバーを削除する場所
私は客観的なCクラスを持っています。その中で、私はinitメソッドを作成し、それにNSNotificationを設定しました //Set up NSNotification [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getData) name:@"Answer Submitted" object:nil]; [[NSNotificationCenter defaultCenter] removeObserver:self]このクラスのどこに設定しますか?aのUIViewController場合、それをviewDidUnloadメソッドに追加できることはわかっています。目的のcクラスを作成したばかりの場合、何をする必要がありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.