消息转发第二步和第三步都是将消息转发给其他对象 ,有什么区别,为什么还需要第三步
来源:5-5 消息转发相关面试问题

慕移动7126149
2019-04-29
写回答
1回答
-
慕后端8876056
2019-05-27
第二步和第三步看起来好像都是将消息转发给其他对象,但实际上是有所不同的.在第二步的时候是无法操作经由这一步转发的消息内容的,只是由运行期系统来问:这个消息你处理不了,能不能不改变消息的内容让其他接受者来处理.如果找不到其他接受者,则进行第三步.
在第三步里面,会先创建NSInvocation对象,把消息相关的选择子(selector),目标(target),参数封装起来,在这个时候是可以改变消息内容的,你可以在此处追加参数,或者更换选择子.再由消息派发系统来指派给目标对象
00
相似问题