У меня есть простой viewController, который я хочу прослушать UIKeyboardWillHideNotification
. Поэтому у меня есть следующий код:NSNotificationCenter относительно ViewWillAppear и ViewWillDisapper
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillBeHidden)
name:UIKeyboardWillHideNotification object:nil];
}
- (void) keyboardWillBeHidden
{
[self.scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
}
Я пытаюсь решить, когда, чтобы удалить ViewController как уведомление центра наблюдателя. Мне нужно только знать о UIKeyboardWillHideNotification
когда ViewController находится на экране, таким образом, я думаю о том, добавив следующее:
- (void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
Достаточно ли этого? Есть ли вероятность, что viewDidUnload
или dealloc
будет вызван, пока viewController все еще находится на экране? Обратите внимание, что я использую очень простой UINavigationController
для потока моего приложения.
Почему бы не удалитьObserver в 'dealloc'? –
Я мог бы, но это кажется излишним, учитывая, что мне не нужно знать об уведомлениях, в то время как viewcontroller выключен. – Nosrettap