KVO面试题

什么是KVO?

kvo是key-value observing的缩写,是oc对观察者设计模式的又一实现

Apple使用isa混写(isa-swizzing)来实现KVO。

KVO原来

addObserve forKeyPath的时候调用系统观察者观察A类的成员变量

运行时动态创建原来类的子类NSKVONotifying_A,把A的isa指针指向NSKVONotifying_A(这就是isa混写技术)

重写setter方法负责通知所有观察对象。

可以断点调试出来

猜你喜欢

转载自www.cnblogs.com/WellLin/p/12705177.html