美文网首页
学习笔记:Category 中的load方法 1

学习笔记:Category 中的load方法 1

作者: 肖皖 | 来源:发表于2019-08-16 15:40 被阅读0次

load方法在runtime加载类、分类的时候调用,只调用一次,和+test方法不同。

load方法不管是否使用都会加载到内存中

分类的load和本类的方法 都会调用


prepare_load_methods内的 add_class_to_loadable_list方法(通过递归),

1、继承关系:先调用父类的load,再调用子类的方法,

2、分类:只和编译顺序有关(包括父子分类关系和同级多分类)。


call_load_methods方法

call_load_methods()方法 优先调用本类load

load_method指针

在本类中

loadable_classes数组

在分类中

普通+test方法通过消息机制objc_mesSend(类对象,方法),给类对象发送一条test消息,根据类对象的isa找到元类对象里面的方法列表,进行遍历在分类里找,然后再本类里,再到父类里找有没有。

总结

相关文章

网友评论

      本文标题:学习笔记:Category 中的load方法 1

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