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-动态方法解析