对于画圈的1当用了kvo后,
1.系统会创建一个多了NSKVONotifying_前缀的子类,重写set方法,当修改属性的时候就可以回调了。
2.系统同时也会重写class ,description,和dealloc等方法。
当调用class的时候不再返回object_getClass(),而是返回kvo加的这个类父类的类名。
对于画圈的2
当调用[super class]因为调用的是父类的方法,其实是最后调到NSObject的class方法,因为NSObject的class没有被重写,所以根据object_getClass()返回的是NSKVONotifying_ViewController
网友评论