快速提问:
我有一个为多个 NSNotifications 注册的单例类。因为单例在应用程序的生命周期内持续存在。
我是否必须实施
[NSNotificationCenter defaultCenter] removeObserver:self]
在我的单身课上?
在 iOS 中处理单例中的 NSNotification 中心的正确方法是什么?
谢谢
快速提问:
我有一个为多个 NSNotifications 注册的单例类。因为单例在应用程序的生命周期内持续存在。
我是否必须实施
[NSNotificationCenter defaultCenter] removeObserver:self]
在我的单身课上?
在 iOS 中处理单例中的 NSNotification 中心的正确方法是什么?
谢谢
不,在这种情况下你不需要停止观察。只有在程序退出时才会释放真正的 Singleton 使用的内存。当程序退出时,它会继续并释放所有正在使用的内存和资源。
只是为了Memory
方便起见,您应该在-dealloc
.
如果您希望您的单身人士在整个应用程序中收听通知,则无需删除它。
如果您希望在某些时候您的单例应该停止接收通知,那么您可以在单例中添加一个方法并在需要时调用它
- (void)removeObserver {
[[NSNotificationCenter defaultCenter] removeObserver:self] ;
}