我觉得我不完全理解KVO和NSNotification之间的区别......它们似乎非常相似...... 你能举一些例子说明什么时候最好使用一种方法而另一种方法?
我不会谈论Bind和IB,但我的意思是在我的代码中使用NSNotificationCenter或KVO以编程方式添加Observer
[self.preferenceController addObserver:self
forKeyPath:@"color"
options:NSKeyValueObservingOptionOld
context:@"Color-change"
];
答案 0 :(得分:6)
KVO仅适用于值,NSNotification可用于更改值,但它可用于任何事物,并且可以承载更大的有效负载。
例如,只要文件下载完毕,就可以发布NSNotification,userInfo可以包含花费的时间长度,下载的字节数以及文件保存到的文件系统路径。