KVC与KVO
KVC是键值编码 可以通过路径找寻对象的属性,进行改变,哪怕语法规则不符合(readonly属性)跨过语法规则.
KVO:当对象属性中的一个属性改变时,其他属性也要进行相应地改变时需要用到KVO
KVO的底层实现:KVO是键值观察者 (监听某个属性的改变)
1.通过运行时(runtime动态的做一些事情:添加一个方法,重写一个方法,创建一个方法,创建一个类,交换方法实现)
2.动态的创建一个类的子类,并重写对应子类改变属性的setter方法
3.调用观察者的(self)的obseValueForKeyPath(只要属性一改变就会调用这个方法)

浙公网安备 33010602011771号