リモート通知を受け取るたびに、アプリでローカルに通知を投稿しています。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
NSLog(@"Received notification: %@", userInfo);
[[NSNotificationCenter defaultCenter] postNotificationName:@"NEWMESSAGE" object:nil userInfo:userInfo]; }
関数 viewWillAppear() でビューにオブザーバーを追加し、viewWillDisappear() でオブザーバーを削除しました。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(newMessageReceived:) name:@"NEWMESSAGE" object:nil];
and
[[NSNotificationCenter defaultCenter] removeObserver:self];
私の質問は、アプリでこれらの関数を使用するすべての *.m ファイルで、すべての viewWillAppear および viewWillDisappear 関数をオーバーライドしたいということです。
または、現在のビューにオブザーバー (上記のように) を動的に追加し、そのビューが消えたときにオブザーバーを削除するにはどうすればよいですか。ビューが変更されたときにオブザーバーが追加され、再び変更されたときに削除されるたびに、グローバルアクションのようにする必要があります。
これは可能ですか?もしそうなら、私を導いてください。
前もって感謝します。