美文网首页
1.消息转发机制

1.消息转发机制

作者: hie | 来源:发表于2018-06-24 21:42 被阅读0次

消息转发机制:当对象调用某个方法时,该方法没有实现,系统会通过消息转发来查找方法的实现。

下图为消息转发查找过程:

查找顺序优先级:

resolveInstanceMethod  > forwardingTargetForSelector > forwardInvocation。

只有优先级高的方法未能处理或未定义时,系统才会从优先级低的方法开始查找。

首先,定义一个Person类,方法run并且.m文件中未实现该方法。

1.解析实例方法.

+ (BOOL)resolveInstanceMethod:(SEL)sel;

resolveInstanceMethod 方法中可以通过运行时动态添加方法来实现处理。最终run方法的实现由runIMP执行。

2.消息快速转发

- (id)forwardingTargetForSelector:(SEL)aSelector;

该方法中,可以引用Animation类来实现消息转发,前提是Animation类定义并实现run方法。

3,标准消息转发

- (void)forwardInvocation:(NSInvocation*)anInvocation;

- (NSMethodSignature*)methodSignatureForSelector:(SEL)aSelector;

demo

相关文章

  • 1.消息转发机制

    消息转发机制:当对象调用某个方法时,该方法没有实现,系统会通过消息转发来查找方法的实现。 下图为消息转发查找过程:...

  • Runtime

    相关简单介绍 消息机制消息传递机制消息转发机制-动态添加方法消息转发机制-快速转发消息转发机制-慢速转发消息转发机...

  • 《Effective Objective-C 2.0 》 阅读笔

    第12条:理解消息转发机制 1. 消息转发机制 当对象接收到无法解读的消息后,就会启动“消息转发”机制,开发者可经...

  • (十二) [OC高效系列]消息的派发机制

    1.什么是消息转发机制 消息转发机制是在调用未知方法时出现的 消息转发机制让程序员有机会去处理未知方法 消息转发机...

  • runtime的使用一

    1.消息发送机制 2.消息转发机制 3.消息转发机制模拟多继承 4.命令模式在路由中的使用

  • runtime系列文章总结

    《iOS Runtime详解(消息机制,类元对象,缓存机制,消息转发)》《消息转发机制与Aspects源码解析》《...

  • iOS消息转发机制

    消息转发机制: 消息转发机制是相对于消息传递机制而言的。 1、消息(传递)机制 RunTime简称运行时。就是系统...

  • 《Effective Objective-C 2.0》- 12:

    1. 消息转发机制 当对象接收到无法解读的消息后,就会启动“消息转发”机制,开发者可经由此过程告诉对象应该如何处理...

  • 消息转发机制(动态消息转发)

    例子分析 1)在给程序添加消息转发功能以前,必须覆盖两个方法,即methodSignatureForSelecto...

  • 深入理解Object-C消息转发机制

    深入理解Object-C消息转发机制 深入理解Object-C消息转发机制

网友评论

      本文标题:1.消息转发机制

      本文链接:https://www.haomeiwen.com/subject/ecujyftx.html