我有一个简单的 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
视图控制器何时出现在屏幕上,因此我正在考虑添加以下内容:
- (void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
这足够了吗?当 viewController 仍在屏幕上时,是否有机会viewDidUnload
或将被调用?dealloc
请注意,我使用的是非常基本UINavigationController
的应用程序流程。