+load 和 +initialize 的区别

版权声明: https://blog.csdn.net/baidu_33440774/article/details/79580540

+load 

1、只要程序启动就会将所有类的代码加载到内存中, 放到代码区(无论该类有没有被使用到都会被调用)  

2、load方法会在当前类被加载到内存的时候调用, 有且仅会调用一次 

3、如果存在继承关系, 会先调用父类的load方法, 再调用子类的load方法 

4、先加载原始类,在加载分类的load方法


+initialize

1、当当前类第一次被使用的时候就会调用(创建类对象的时候)

2、initialize方法在整个程序的运行过程中只会被调用一次, 无论你使用多少次这个类都只会调用一次 

3、initialize用于对某一个类进行一次性的初始化

4、如果存在继承关系, 会先调用父类的initialize再调用子类的initialize 

猜你喜欢

转载自blog.csdn.net/baidu_33440774/article/details/79580540