ios - 我是否应该删除 NSUbiquitousKeyValueStoreDidChangeExternallyNotification 的通知

标签 ios icloud nsnotificationcenter

我正在使用本教程开始:
http://www.raywenderlich.com/63269/how-to-save-your-game-data-tutorial-part-2-of-2

我已经使用、实现和测试,一切正常。

这里我发现应该只在dealloc中去掉notification(文末)
http://subjective-objective-c.blogspot.com/2011/04/avoid-nsnotification-removeobserver.html

我的问题是我应该删除 NSUbiquitousKeyValueStoreDidChangeExternallyNotification 的通知吗? 用什么方法?

最佳答案

一般来说,对于任何通知,当你不再关心通知时,就停止观察。您不再关心的一种情况是观察通知的对象何时被释放。

第二篇文章告诉您的是,removeObserver: 通常不是最佳选择。它从所有 通知中删除观察者。这包括您注册的通知以及框架内部使用的通知。正如文章所解释的那样,最好使用 removeObserver:name:object: 显式注销每个通知。它并不是告诉您应该只在 dealloc 中注销通知,而是告诉您您应该只注销使用 removeObserver: 方法 的通知在释放。这是个好建议,但在任何需要使用的地方都可以使用其他 remove-observer 方法。

这通常意味着您想在 dealloc 中注销,但这实际上取决于您的代码的作用以及您何时需要接收通知。

关于ios - 我是否应该删除 NSUbiquitousKeyValueStoreDidChangeExternallyNotification 的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23193212/

相关文章:

ios - 在 ios 中从 XMPP 服务器检索存档消息

ios - iCloudKit 空间存储分配存储配额管理/监控

ios - 将 iOS 8 文档保存到 iCloud Drive

ios - 当快速弹出日期选择器选择器时,如何阻止 ui 对象被覆盖

ios - iMessage 应用程序 - 插入消息时打印 "nil"错误

ios - 在 iOS5 中让 cookie 与 PhoneGap 一起使用吗?

ios - 如何在iOS中将mp4文件存储为Data或NSData对象?

ios - iCloud + Core Data 的替代品,用于在 iOS 和 OS X 之间同步数据

ios - 在不打开 ViewController 的情况下订阅 NotificationCenter

ios - 为什么发布通知会导致崩溃?