6

我觉得我不完全理解 KVO 和 NSNotification 之间的区别......它们看起来很相似......你能举个例子来说明什么时候最好使用一种方法,什么时候最好使用另一种方法吗?

我没有谈论 Bind 和 IB,但我的意思是使用 NSNotificationCenter 或 KVO 在我的代码中以编程方式添加 Observer

[self.preferenceController addObserver:self 
                                    forKeyPath:@"color" 
                                       options:NSKeyValueObservingOptionOld 
                                       context:@"Color-change"
];
4

1 回答 1

6

KVO 仅适用于值,NSNotification 可用于值更改,但它可以用于任何事情并且可以承载更大的有效负载。

例如,您可以在文件下载完成时发布 NSNotification,并且 userInfo 可以包含它所花费的时间长度、下载的字节数以及文件保存到的文件系统路径。

于 2011-07-15T17:43:14.747 回答