KVC与KVO

KVC是键值编码 可以通过路径找寻对象的属性,进行改变,哪怕语法规则不符合(readonly属性)跨过语法规则.

KVO:当对象属性中的一个属性改变时,其他属性也要进行相应地改变时需要用到KVO

KVO的底层实现:KVO是键值观察者 (监听某个属性的改变)

1.通过运行时(runtime动态的做一些事情:添加一个方法,重写一个方法,创建一个方法,创建一个类,交换方法实现) 

2.动态的创建一个类的子类,并重写对应子类改变属性的setter方法

3.调用观察者的(self)的obseValueForKeyPath(只要属性一改变就会调用这个方法)

posted @ 2015-12-02 10:14  槑槑槑槑槑槑  阅读(38)  评论(0)    收藏  举报