我正在使用本教程开始:
http://www.raywenderlich.com/63269/how-to-save-your-game-data-tutorial-part-2-of-2
我已经使用它,实现它并进行测试,一切正常。
在这里,我发现只应在dealloc中删除通知(在文章的最后) http://subjective-objective-c.blogspot.com/2011/04/avoid-nsnotification-removeobserver.html
我的问题是我应该删除NSUbiquitousKeyValueStoreDidChangeExternallyNotification的通知吗? 用什么方法?
答案 0 :(得分:1)
通常,对于任何通知,请在不再关心通知时停止观察。您不再关心的一个案例是当观察通知的对象被解除分配时。
第二篇文章告诉你的是removeObserver:
通常不是最好的选择。它会从所有通知中删除观察者。这包括您注册的通知以及框架在内部使用的通知。正如文章所解释的那样,使用removeObserver:name:object:
明确注销每个通知最好。它没有告诉您,您只应取消注册dealloc
中的通知,它会告诉您只应使用removeObserver:
方法取消注册通知 >在dealloc。这是一个很好的建议,但在任何需要使用它们的地方使用其他删除观察器方法都可以。
这通常意味着您要在dealloc
中取消注册,但这实际上取决于您的代码执行的操作以及何时需要接收通知。