У меня есть три viewControllers
, и я пытаюсь отправить уведомление от viewController
3 до viewController
1 и 2. Я думаю, что лучший способ сделать это состоит в использовании NSNotification
. Вот то, что я до сих пор:Где я должен поставить removeObserver от NSNotification
В классе С - сообщение уведомления
[[NSNotificationCenter defaultCenter] postNotficationName:@"Updated "object:self];
В классе В
В классе А и В - Регистрация первого для уведомления
// viewDidLoad
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleUpdate:) name:@"Updated" object:nil];
-(void)handleUpdate:(NSNotification *)notification {
NSLog(@"recieved");
}
Это работает до сих пор. Но когда я дерегистрировать его в классе А и В:
- (void)viewWillDisappear:(BOOL)animated {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
handleUpdate
Метод действительно становится не называется. Поэтому очевидная проблема заключается в том, когда я removeObserver's
для notification
.
Мой вопрос: если все, что я сделал до сих пор, правильно, почему он не работает, когда я удаляю removeObserver
? Если это не так, где я могу removeObserver's
?
в методе dealloc –
Спасибо! Не могу поверить, что это было просто! – Jessica