不再需要删除Cocoa中的通知观察者?

时间:2012-10-06 07:59:18

标签: macos cocoa automatic-ref-counting nsnotificationcenter weak-references

在这篇关于垃圾收集的post中,作者说:

  

在Mac OS X 10.6及更高版本中,NSNotificationCenter是弱引用的   您不再需要在代码中执行以下操作

[[NSNotificationCenter defaultCenter] removeObserver:self
      name:kObservationName
      object:nil];

这是在某处正式记录的吗? removeObserver:的文档仍然说:

  

请务必先调用此方法(或removeObserver:name:object :)   notificationObserver或在中指定的任何对象   addObserver:selector:name:object:is deallocated。

1 个答案:

答案 0 :(得分:2)

如果您正在构建垃圾收集应用程序,那么您无需取消注册对象以接收观察或通知。

但垃圾收集现在已被弃用,而不是你应该用于新项目的东西。

如果您使用 ARC MRC ,则仍需要删除对象。最好的地方通常是dealloc方法。