调用`removeObserver:name:object:`的最佳位置在哪里

时间:2011-02-22 16:29:26

标签: objective-c observer-pattern dealloc

调用removeObserver:name:object:的最佳位置在哪里,因为dealloc方法并不总是像NSObject类引用中提到的那样执行?

1 个答案:

答案 0 :(得分:1)

如果您指的是this note

  

重要事项:请注意,当应用程序终止时,可能不会向对象发送dealloc消息,因为进程的内存在退出时会自动清除 - 仅仅为了允许操作更有效系统清理资源比调用所有内存管理方法。

它表示通常不保证仅在应用程序终止时调用dealloc。因此,即使未调用dealloc,操作系统仍将清除应用程序使用的资源。这意味着你的所有物品都会消失,因为你的应用程序不再存在了。

因此,从通知中心删除通知观察者的最佳位置仍然在观察者的dealloc方法中。