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

本文将iOS消息转发机制与游戏《英雄联盟》巧妙结合,生动形象地解释了消息转发的三个阶段:动态方法解析、备用接收者消息传递以及完整的NSInvocation转发流程。

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


这里写图片描述

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值