NSNotificationCenter относительно ViewWillAppear и ViewWillDisapper
У меня есть простой viewController, который я хочу слушатьUIKeyboardWillHideNotification
, Поэтому у меня есть следующий код:
- (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
для потока моего приложения.