1

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

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

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

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

确保在 notificationObserver 或 addObserver:selector:name:object: 中指定的任何对象被释放之前调用此方法(或 removeObserver:name:object:)。

4

1 回答 1

2

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

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

如果您使用的是ARCMRC,那么您仍然需要删除对象。最好的地方通常是在dealloc方法中。

于 2012-10-06T08:31:46.867 回答