KVO自己的理解

2018/1/8 posted in  iOS
  1. KVO利用runtime,生成了一个对象的子类,并生成子类对象替换原来对象的isa指针,重写了set方法。
  2. KVO是基于KVC的,可以明显的发现在改变容器的时候,通过KVC改变改变容器中的值或者使用set方法时,会触发KVO通知函数,而简单的使用addObject:方法时却没有触发,这是因为KVO只响应set方法。可以说kvc是kvo的入口
  3. 直接使用KVO在项目中不是很好用,代码结构比较松散,需要自己封装或使用其它三方框架。