美文网首页
学习笔记: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