KVO与NSNotifications

使用KVO有没有什么好处,而不是NSNotification的更“通用”(和我的opion更强大)function?

我非常喜欢KVO,主要是因为它迫使我通过一个处理程序路由所有的KVO通知。 我使用任何其他可用的,如果我有select。 但KVO具有标准库中许多类的独特优势 – 如果您想要从标准库中观察某些类的属性更改,KVO可能是您唯一的select。 Cocoa Builder有一个关于KVO和各种观察和绑定选项的非常有趣的线程 。

(我应该补充说,我只是抱怨KVO作为一个高级的观察界面,我认为这对于其他技术,尤其是绑定来说是非常好的)。

为了使用NSNotifications类似于KVO的东西,你将不得不为你想观察的每个属性编写自定义的样板存取方法。

这比使用KVO要less得多“通用性”,并且不那么强大。