首页 > 其他 > 详细

消息转发

时间:2019-12-25 18:12:48      阅读:95      评论:0      收藏:0      [点我收藏+]

技术分享图片

1、resolveInstanceMethod:方法解析,返回YES,意思是告诉执行方法的对象,我已经给这个对象添加了这个方法,你可以再次调用试试了

2、forwardingTargetForSelector:备选调用者,如果你返回一个备选调用者,那么方法调用将转给这个备选者执行

3、methodSignatureForSelector:当2没有实现或返回nil的时候,该方法将被调用,这里是最后的机会处理未定义的方法调用。你可以通过+instanceMethodSignatureForSelector:方法返回指定类的方法签名,从而将方法调用转交给其他类执行

4、forwardInvocation:当3返回签名不为nil时,该方法会被调用,这个NSInvocation,就是根据上面的方法签名生成的,你可以通过调用invokeWithTarget,来指定对象来执行

5、doesNotRecognizeSelector:当方法转发失败后,会调用该方法,并且程序crash

消息转发

原文:https://www.cnblogs.com/zbblog/p/12098264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!