在OC的消息机制中主要分为三个阶段,分别为: 1.消息发送阶段:从类以及父类的方法缓存列表和方法列表查找方法. 2.动态解析阶段:在消息发送阶段没有找到方法,则会进入这个阶段,负责动态添加方法实现. 3.如果没有实现动态解析方法,则会进行消息转发阶段,将消息转发给可以处理消息的接受者来处理. 如果以上都没有实现就会报出找不到方法的崩溃. 一.消息转发 首先判断这个对象是不是nil,如果是就相当于直接break,如果有,则会通过对象的isa指针找到这个类,在缓存的方法列表中查找,如果有则执行,没有…