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



在这篇关于垃圾收集的文章中,作者指出:

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

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

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

请务必调用此方法(或 removeObserver:name:object:)以前 通知观察者或 中指定的任何对象 addObserver:selector:name:object: 被解除分配。

如果您正在构建垃圾回收应用程序,那么确实不需要注销对象来接收观察或通知。

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

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

最新更新