消息转发机制

iOS消息转发机制分为三步骤:动态分析、备用接受者、完整转发。

动态分析涉及的方法:

+ (BOOL)resolveClassMethod:(SEL)sel{} //类方法
+ (BOOL)resolveInstanceMethod:(SEL)sel()//实例方法  
//重写这俩个方法,当向对象发送一个未知方法的时候,会调用以上方法。我们有机会在该方法中为未知消息增加一个处理方法。

如果以上俩个方法无法处理消息,继续调用备用接受者。

- (id)forwardingTargetForSelector:(SEL)aSelector{} //备用接受者,只能是新对象不能是self本身。

如果以上方法都不能处理消息,调用完整转发

- (void)forwardInvocation:(NSInvocation *)anInvocation{} //在此方法中如果未对消息进行处理,系统会抛出未找到该方法的异常
原文地址:https://www.cnblogs.com/jztsdwn/p/9028337.html