我觉得我不完全了解KVO和NSNotification之间的区别…它们似乎是如此相似…您能否举一些例子说明何时最佳使用一种方法,何时使用另一种方法?
我没有谈论Bind和IB,但是我的意思是使用NSNotificationCenter或KVO在我的代码中以编程方式添加Observer
[self.preferenceController addObserver:self forKeyPath:@"color" options:NSKeyValueObservingOptionOld context:@"Color-change" ];
KVO仅适用于值,NSNotification可以用于值更改,但可以用于任何内容,并且可以承载更大的有效负载。
例如,只要文件下载完成,您就可以发布NSNotification,并且userInfo可以包含花费的时间长度,下载的字节数以及文件已保存到的文件系统路径。