第12条:理解消息转发机制

mac2022-06-30  40

在编译期向类发送了其无法解读的消息并不会报错,因为在运行期可以继续向类中添加方法。

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

 

消息转发分两阶段:

  1、先征询接收者,所属的类是否能动态添加方法,以处理当前这个未知方法,这叫做“动态方法解析”。

  2、完整的消息转发机制。 

      1、找有没有其他对象能处理这条消息。如果有就转发给那个对象。

      2、如果没有才启动完整的消息转发机制。运行期系统把与消息有关的全部细节都封装到NSInvocation对象中,再给接收者最后一次机会,令其设法解决当前还未处理的这条消息。

 

转载于:https://www.cnblogs.com/Pikdays/p/4371159.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)