为什么NSNotification中的Observer调用了两次....?

Gan*_*yak 5 cocoa notifications objective-c

如果类是自定义类,则在发布通知后,对应于观察者的选择器将被调用两次.是否有更好的解决方案,以便只调用一次选择器?

Jon*_*hon 8

如果选择器被调用两次,你可能已经注册了两次.


cms*_*cms 3

如果观察者类按名称注册通知,而不是针对特定对象,则它将收到多条消息,因为每次通知发生时都会调用它,而不管原始对象是什么。

同样,如果观察者是针对特定对象注册的,而不是针对命名通知注册的,那么每次有关于该对象的通知时都会向其发送消息。

了解远程状态变化的另一种机制是键值观察 - http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html