您的位置:首页 > 移动开发 > IOS开发

OC阅读笔记四:消息转发

2016-03-27 23:26 197 查看
    在消息转发的过程中,可以告诉对象如何处理无法解读的未知消息.

    消息转发分两大阶段,第一阶段为"动态方法解析",就是判断接收者所属的类能否动态添加方法处理未知消息.若使用该方法,需实现相关的代码.通常用来实现@dynamic属性.

    第二阶段第一步,如果第一阶段返回NO,则会查看接收者内部其他对象是否能够处理未知的选择子,如果可以便返回该对象,否则进入下一步.

    第二阶段第二步就是完整的消息转发机制.先创建NSInvocation对象,把选择器,目标,参数放入.在触发NSInvocation对象时,"消息派发系统"会把消息指派给目标对象.

    如果发现调用操作不是本类处理,那么会继续调用超类的同名方法,直到最后调用NSObject类的"doesNotRecognizeSelector:"抛出异常,表示该选择子未能处理.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OC iOS 笔记