二十五、Runtime之(九)方法-objc_msgSend()阶段2-动态解析-源码解析01

1.如果父类中都找不到该方法,就尝试动态解析,解析到就重新走retry方法


方法解析

2.动态解析,如果是类对象,就调用_class_resolveInstanceMethod,如果是元类对象,就调用_class_resolveClassMethod


_class_resolve_method

3._class_resolveInstanceMethod
_class_resolveInstanceMethod

4.retry


retry

5.动态方法解析的代码实现,动态添加方法后,又会重新走消息发送,从类对象里找该方法。
动态实例方法解析的代码实现

动态类方法解析的代码实现

objc_msgSend执行流程02-动态方法解析的流程示意图

objc_msgSend执行流程02-动态方法解析
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容