当一个对象调用
1、动态添加方法:resloveInstanceMethod

2、转发消息:forwardingTargetForSelector

3 、向更广的范围转发,谁能处理就让谁来处理:forwardInvocation

三个方法都实现不了,就报错
2、消息转发应用场景:
例子:创建一个NSobject的分类CrashHandle在应为上面的原因造成程序崩溃的时候重写methodSignatureForSelector方法和forwardInvocation来防止应用崩溃,并给出相应的提示

网友评论