ios - 在看KVO和category的时候看到一段文字,应该怎么样理解?
阿神
阿神 2017-04-17 14:29:56
[iOS讨论组]

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.

这个要怎么理解?

阿神
阿神

闭关修行中......

全部回复(2)
大家讲道理

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

单独写的好处有:

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

BLABLA

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

大家讲道理

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号