iOS关于调用方法找不到实现之前的三次补救办法
2019-10-14 本文已影响0人
Amor瑾年v
调用方法时如果一直找到NSObject还不响应,就会进入消息转发流程。
1.第一次
+ (BOOL)resolveInstanceMethod:(SEL)sel;
如果是类方法的话是+ (BOOL)resolclassMethod:(SEL)sel)
这个方法中我们可以用runtime动态添加方法
2.第二次
- (id)forwardingTargetForSelector:(SEL)aSelector
这个方法就是寻找备用接收者,也就是代理对象
3.第三次
- (void)forwardInvocation:(NSInvocation *)invocation
如果这个方法里面也不能处理的话就会报找不到方法异常了。