什么是KVO?什么是KVC?
KVC的底层实现
KVO底层实现原理
- KVO基于Runtime机制实现
- 当一个类(A)的属性被观察的时候,系统会通过runtime动态的创建一个A类的派生类(B)
- B类继承于A类
- 将A类的isa指针指向B类
- 在B类中重写被观察的属性的setter方法
- 重写的setter方法会在调用原setter方法前后,通知观察对象值得改变
消息转发
快速转发
- (id)forwardingTargetForSelector:(SEL)aSelector
标准转发
- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector