使用 KVO 代替NSNotification
s 的更“通用”(并且我认为更强大)功能有什么优势吗?
3433 次
2 回答
8
我非常讨厌 KVO,主要是因为它迫使我通过单个处理程序路由所有 KVO 通知。如果可以选择,我会使用任何其他可用的东西。但是 KVO 具有可用于标准库中的许多类的明显优势——如果您想观察标准库中某些类的属性更改,KVO 可能是您唯一的选择。Cocoa Builder 上有一个关于 KVO 和各种观察和绑定选项的非常有趣的主题。
(我应该补充一点,我只对 KVO 作为高级观察接口感到不满。我认为它作为其他技术的管道非常好,尤其是绑定。)
于 2011-05-03T07:42:57.763 回答
5
为了使用 NSNotifications 来做一些类似于 KVO 的事情,你必须为你想要观察的每个属性编写自定义样板访问器方法。
与使用 KVO 相比,这既不那么“通用”又不那么健壮。
于 2011-05-03T10:26:24.837 回答