美文网首页
load 的理解

load 的理解

作者: Maxdon | 来源:发表于2021-12-04 16:13 被阅读0次

1. 所有类的 load 方法调用完毕之后再调用分类的 load 方法,类与分类的方法列表分别存储在对应的两个全局表中;

2. dyld 分别将类和分类添加到两个全局数组后,再循环取出这两个数组中的元素,递归执行 load方法,因为有这两个数组,所以分类的load不会覆盖原来类的load方法;

3. 在类先于分类调用、父类先于子类的大前提下,分类中 load 方法的调用顺序取决于符号表中的顺序,也就是编译顺序;

4. 在递归调用类的+load方法过程中,父类会先于子类调用,分类在最后调用;

5. 因为dyld中没有使用objc_msgSend来调用函数,而是直接执行,所以不存在方法查找和消息传递机制,所以子类未实现load方法的情况下也不去调用父类的load;

相关文章

网友评论

      本文标题:load 的理解

      本文链接:https://www.haomeiwen.com/subject/sszvxrtx.html