美文网首页
load、initialize

load、initialize

作者: LPL_d5fc | 来源:发表于2023-01-31 11:55 被阅读0次

+ (void)load

1.+load方法加载顺序:父类> 子类> 分类 (load方法都会加载)

注意:(如果分类中有A,B,顺序要看A,B加入工程中顺序) ,

可能结果:( 父类> 子类> 分类A> 分类B ) 或者( 父类> 子类> 分类B> 分类A )

2.+load方法不会被覆盖(比如有父类,子类,分类A,分类B,这四个load方法都会加载)。

3.+load方法调用在main函数前。

+ (void)initialize

+initialize方法加载顺序有以下4种情况

(1)分类 (子类没有initialize方法,父类存在或者没有initialize方法)

(2)分类> 子类 (多个分类就看编译顺序,只有存在一个)

(3)父类> 子类 (分类没有initialize方法)

(4)父类 (子类,分类都没有initialize方法)

总结+initialize:

1.当调用子类的+ initialize方法时候,先调用父类的,如果父类有分类, 那么分类的+ initialize会覆盖掉父类的。

2.分类的+ initialize会覆盖掉父类的

3.子类的+ initialize不会覆盖分类的

4.父类的+ initialize不一定会调用, 因为有可能父类的分类重写了它

5.发生在main函数后。

————————————————

版权声明:本文为CSDN博主「临海听风V」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/samuelandkevin/article/details/104398068

相关文章

网友评论

      本文标题:load、initialize

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