【问题标题】:Should I unregister NSNotification both in viewDidUnload and dealloc?我应该在 viewDidUnload 和 dealloc 中注销 NSNotification 吗?
【发布时间】:2012-03-28 12:35:13
【问题描述】:

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

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

[[NSNotificationCenter defaultCenter] removeObserver:self];

谢谢。

【问题讨论】:

    标签: iphone ios ipad nsnotification


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 2011-01-22
      • 1970-01-01
      • 2012-04-10
      • 2010-11-12
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      相关资源
      最近更新 更多