4

viewDidLoad我在方法中注册了一个 NSNotification 。

viewDidUnload我应该使用下面的代码在和dealloc方法中注销它吗?

[[NSNotificationCenter defaultCenter] removeObserver:self];

谢谢。

4

1 回答 1

8

是的你应该。viewDidUnload 在视图控制器被释放时不会被调用。

因为 viewDidLoad 是在视图控制器打开时调用的,所以人们有时会错误地认为它的对立面(viewDidUnload)是在屏幕关闭时调用的。事实并非如此, viewDidUnload 仅在内存不足的情况下使用。

这就是为什么我们也需要取消注册 dealloc 中的通知。

于 2012-03-28T12:44:03.827 回答