load 与 initialize

load

  • load 加载方式是通过函数地址直接调用的,不是通过消息发送机制调用
  • load 是在main函数调用之前,加载到程序的时候调用,只执行一次
  • load 的调用顺序
    1.本类 ----- 子类 -------- 分类 (每个 load 方法都会被调用,每个本类的调用顺序不确定,如果不实现load方法,不会调用)
    2.一个类的+load方法不用写明[super load],父类就会收到调用。

initialize

  • 是在main函数之后收到第一个消息之前调用,是通过消息发送机制方式调用
  • initialize 的调用顺序
    • 继承:如果子类没有实现 initialize 方法,会把父类的实现继承过来调用一遍
    • 父类和本类: 如果本类实现 initialize 方法,父类与本类方法都会带用,如果本类没有实现 initialize方法,则会调用父类方法
    • 本类和Category:分类则会覆盖本类方法,本类方法不会被调用
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容