OC消息发送机制
2019-09-09 19:20:19 0 举报
OC消息发送和转发机制
作者其他创作
大纲/内容
调用+resolveInstanceMethod:或者+resolveClassMethod:
返回值不为nil
调用forwardTargetForSelector:方法
进入
没找到方法
从receiverClass的cache中查找方法
消息发送
动态解析
是
调用methodSignatrueForSelector:方法
否
调用方法,查找结束。并将方法缓存在receiverClass的cache中
上层是否还有superClass
没有找到方法
标记为已经动态方法解析
从superClass的cache中查找方法
receiver是否为nil
找到方法
从receiverClass的class_rw_t中查找方法
消息转发
调用方法,查找结束
调用doesNotRecognizedSelector:方法
退出
是否动态解析过
调用forwardInvacation方法
从superClass的class_rw_t中查找方法
有
重新查找
0 条评论
下一页