OC消息转发
1. 动态方法解析。+resolveInstanceMethod:(实例方法)或者+resolveClassMethod:(类方法)动态为类增加实例/类方法。
2. 备用接收者。- (id)forwardingTargetForSelector:(SEL)aSelector 将消息转发给其他对象处理。只能转发,不能做其他操作。
3. 完整转发。- (void)forwardInvocation:(NSInvocation *)anInvocation 将消息转发,可以做修改参数等操作。需要实现-(NSMethodSignature*)methodSignatureForSelector:(SEL)aSelector 方法。
转发过称为:1->2->3;前面的如果能处理则不会继续转发。
通过3,并且实现respondsToSelector:和isKindOfClass:,可以实现多重继承。