类方法的查找过程

86 阅读1分钟

关于类的类方法(非对象方法)的查找过程——简单描述:

先通过汇编--哈希表快速查找cache中的方法

如果找到了,就执行该代码

没有找到则进行父类的查找,直到找到NSObject

如果还没有找到则进行动态方法解析

在动态方法解析中,由于找父类的顶点是NSObject,而NSObject的元类是自己。所以当类方法的动态方法解析时,先找NSObject的类方法,没找到会找元类的对象方法也就是NSObject自己的对象方法,对NSObject进行了2次查找。