+load和+initialize方法的区别

调用方式

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

调用时刻

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

调用顺序

  1. load
  • 先调用类中的load
    先编译的类先调用load
    在调用子类的load之前,会先调用父类的
  • 后调用category中的load
    先编译的先调用
  1. initialize
  • 父类先于子类调用
  • category会覆盖本类中的initialize
  • 子类没实现会调用父类的,所以父类的initialize可能调用多次
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容