我在viewDidLoad
方法中注册了NSNotification。
我应该使用下面的代码在viewDidUnload
和dealloc
方法中取消注册吗?
[[NSNotificationCenter defaultCenter] removeObserver:self];
感谢。
答案 0 :(得分:8)
是的,你应该。取消分配视图控制器时,不会调用viewDidUnload。
因为在打开视图控制器时调用了viewDidLoad,所以人们有时会错误地认为在屏幕关闭时会调用它的相反(viewDidUnload)。情况并非如此,viewDidUnload仅用于低内存情况。
这就是为什么我们需要取消注册dealloc中的通知。