に 2 つのタブがあり、UITabBarController
両方を に登録しましNSNotificationCenter
た。問題は、非表示のタブ (つまり、まだ呼び出されviewDidAppear:
ていない) で通知を受け取れないことです。私の考えでは、画面上にない (つまり、非表示の) コントローラーは に応答しませんNSNotifications
。問題ではない別の方法で物事を行うことができますが、他の何かが欠けていて実際に機能しているはずの場合に備えて、非表示のタブが通知を受け取らない理由を確認したいだけです...
編集:
@Fab1nは正しい方向を示してくれました。誤っviewWillDisappear:
てオブザーバーを削除していたので、ビューが消えたときに通知を聞いていませんでした。に移動しdealloc
ます。
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter removeObserver:self];
}
変更:
- (void)dealloc {
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[notificationCenter removeObserver:self];
}
とても有難い。