美文网首页
OC中的load和initialize的区别

OC中的load和initialize的区别

作者: it小小菜鸟 | 来源:发表于2020-07-16 09:22 被阅读0次

OC中的load和initialize的区别

  1. 调用方式
    • load是根据函数地址直接调用
    • initialize是通过objc_msgSend调用
  2. 调用时刻
    • load是runtime加载类、分类的时候调用(只会调用1次)
    • initialize是类第一次接收到消息的时候调用 ,每一个类只会initialize一次(类的initialize方法可能会被调用多次,当子类没有实现initialize方法时)

load、initialize的调用顺序

load
  1. 先调用类的load方法
    • 先编译的类,优先调用load
    • 调用子类的load前,会先调用父类的load
  2. 再调用分类的load
    • 先编译的分类,优先调用load
initialize
  1. 先初始化父类
  2. 再初始化子类(当没有实现initialize时,就会调用父类的initialize方法)
  3. 如果分类实现了initialize方法,就会先调用分类的initialize

相关文章

  • OC中的load和initialize的区别

    OC中的load和initialize的区别 调用方式load是根据函数地址直接调用initialize是通过ob...

  • iOS学习回顾

    oc部分 1. load和initialize的区别(利用load方法,MJRefresh在app启动时 在UIT...

  • OC 中load和initialize的区别

    + (void)load;+(void)initialize; load:load方法在这个文件被程序装载时调用。...

  • OC中load 和initialize 的区别

    OC文件在编译后,类相关的数据结构会保留在目标文件中,在运行时得到解析和使用。在应用程序运行起来的时候,类的信息会...

  • OC中load和initialize的区别

    OC文件在编译后,类相关的数据结构会保留在目标文件中,在运行时得到解析和使用。在应用程序运行起来的时候,类的信息会...

  • OC 中 load 和 initialize 的区别

    load: +load是一个类方法,当程序载入时,在main函数执行之前,带有+load方法类(Class)或者种...

  • OC中load和initialize的区别

    OC文件在编译后,类相关的数据结构会保留在目标文件中,在运行时得到解析和使用。在应用程序运行起来的时候,类的信息会...

  • load、initialize详解及区别

    load、initialize方法的区别? load、initialize的调用顺序? load initialize

  • 运行时的应用

    1、load和initialize的区别 +load和+initialize是 Objective-C runti...

  • 技术点

    1、oc中 load 和initialize 方法的异同? 连接 load 方法: 对于每个类(class)及分类...

网友评论

      本文标题:OC中的load和initialize的区别

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