美文网首页
+ load()方法

+ load()方法

作者: 东方诗空 | 来源:发表于2022-03-22 15:25 被阅读0次

    调用顺序

    +load方法会在runtime加载类、分类时调用

    每个类、分类的+load,在程序运行过程中只调用一次

    调用顺序

    • 先调用类的+load
      1、 按照编译先后顺序调用(先编译,先调用)
      2、 调用子类的+load之前会先调用父类的+load

    • 再调用分类的+load
      1、按照编译先后顺序调用(先编译,先调用)

    objc4源码解读过程:objc-os.mm

    _objc_init

    load_images

    prepare_load_methods
    schedule_class_load
    add_class_to_loadable_list
    add_category_to_loadable_list

    call_load_methods
    call_class_loads
    call_category_loads
    (*load_method)(cls, SEL_load)

    +load方法是根据方法地址直接调用,并不是经过objc_msgSend函数调用

    相关文章

      网友评论

          本文标题:+ load()方法

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