iOS 消息转发机制(VN的逃生之路) ---转自丨n水瓶座菜虫灬

文章写的挺棒。把iOS消息转发机制和LOL结合的相当完美,把枯燥的东西,讲解的栩栩如生。可见作者是个打LOL的老司机。有兴趣的朋友可以点击下方原文地址瞧一瞧。


iOS 消息转发机制(VN的逃生之路) ---转自丨n水瓶座菜虫灬

  • 第一阶段,先征询消息接收者所属的类,看其是否能动态添加方法,以处理当前这个无法响应的selector, 及动态方法解析。如果运行期系统 第一阶段执行结束,接收者就无法再以动态新增方法的手段来响应消息,进入第二阶段。
  • 第二阶段,看看有没有其它对象(备用接收者)能处理此消息。如果有,运行期系统会把消息发给那个对象,转发过程结束;如果没有,则启动完整的消息转发机制。
  • 第三阶段,完整的消息转发机制。运行期系统会把与消息有关的全部细节都封装到NSInvocation对象中,再给接收者最后一次机会,令其设法解决当前还未处理的问题。

原文地址:https://www.jianshu.com/p/367b2f6b461f