在看KVO和category的时候看到一段文字,应该怎么样理解?

发布于 2022-09-01 06:47:04 字数 187 浏览 17 评论 0

When using KVO in a category implementation, it is recommended that a custom associated-object be used as an observer, rather than the object observing itself.

这个要怎么理解?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

豆芽 2022-09-08 06:47:04

KVO一般是监听某一个OBJ_A的某个属性变化,若发生预期变化提供回调。
自己观察自己理论上说是OK的(我没试过。。),因为说白了KVO就是观察某属性的SETTER方法,但是这么写代码可读性可差,大家通过的方法是单独写一个关联对象。

单独写的好处有:

  • 可读性强,你不要纠结自己观察自己
  • 解耦
  • 便于业务扩展,因为所关联毕竟是你自定义的对象(可以很抽象)

BLABLA

KVO这块苹果给的接口太操蛋了,本身想法很好的一个东西设计成。。。KVO要用的话推荐Facebook的KVOController

云仙小弟 2022-09-08 06:47:04

个人感觉是为了保持category的简洁, 写category一般都是比较基础的东西, 但是你加了KVO就嵌入了业务逻辑, 这样就使得这段代码今后被复用的可能性比较低了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文