开发者社区> 问答> 正文

8、在方法调用的时候,方法查询-> 动态解析-> 消息转发 之前做了什么

8、在方法调用的时候,方法查询-> 动态解析-> 消息转发 之前做了什么

展开
收起
游客bnlxddh3fwntw 2020-04-13 15:14:09 2279 0
1 条回答
写回答
取消 提交回答
  • OC中的方法调用,编译后的代码最终都会转成objc_msgSend(id , SEL, ...)方法进行调用,这个方法第一个参数是一个消息接收者对象,runtime通过这个对象的isa指针找到这个对象的类对象,从类对象中的cache中查找是否存在SEL对应的IMP,若不存在,则会在 method_list中查找,如果还是没找到,则会到supper_class中查找,仍然没找到的话,就会调用_objc_msgForward(id, SEL, ...)进行消息转发。

    2020-04-13 15:14:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像