我正在使用本教程开始:
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/