ios - 在看KVO和category的时候看到一段文字,应该怎么样理解?
阿神
阿神 2017-04-17 14:29:56
0
2
409

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就嵌入了业务逻辑, 这样就使得这段代码今后被复用的可能性比较低了

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿