美文网首页ios
+load和+initialize方法的区别

+load和+initialize方法的区别

作者: Nomo_C | 来源:发表于2020-05-20 12:45 被阅读0次

    调用方式

    • load函数直接调用。
    • initialize是通过objc_msgSend调用。

    调用时刻

    • load是在程序初始化的时候调用。(只调用一次)
    • initialize在类第一次接收到消息的时候调用。

    调用顺序

    1. load
    • 先调用类中的load
      先编译的类先调用load
      在调用子类的load之前,会先调用父类的
    • 后调用category中的load
      先编译的先调用
    1. initialize
    • 父类先于子类调用
    • category会覆盖本类中的initialize
    • 子类没实现会调用父类的,所以父类的initialize可能调用多次

    相关文章

      网友评论

        本文标题:+load和+initialize方法的区别

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