经常用到kvo某些属性变化等等事情,那问到具体原理是什么呢?
当观察某对象A时,KVO机制动态创建一个对象A当前类的子类,并为这个新的子类重写了被观察者属性keypath和setter方法,setter方法随后负责通知观察对象属性的改变状况。(在这个过程中,被观察者对象isa指针从指向原来的A类,被kVO机制修改为指向系统新创建的子类,来实现当前类属性值改变的监听)
经常用到kvo某些属性变化等等事情,那问到具体原理是什么呢?
当观察某对象A时,KVO机制动态创建一个对象A当前类的子类,并为这个新的子类重写了被观察者属性keypath和setter方法,setter方法随后负责通知观察对象属性的改变状况。(在这个过程中,被观察者对象isa指针从指向原来的A类,被kVO机制修改为指向系统新创建的子类,来实现当前类属性值改变的监听)