NSOobject 的load 和 initialize方法区别

+load

1.load方法是调用时机是类被加载到系统中就会调用(initialize用到才会调用)
2.调用在main方法之前
3.初始化顺序:自身load-->分类的load-->构造方法
4.调用时没有autorelease pool
5.一般用于实现黑魔法 Swizzle

  • initialize方法

1.在main方法之后调用,而且需要用到这个类才会调用,相当于懒加载
2.initialize方法在一个比较安全的环境中调用,比+load更适合放入初始化代码
3.跟load方法相似,会先发送父类的init方法,如果子类没有实现该方法,会先调用父类
4.一般用于初始化

你可能感兴趣的:(NSOobject 的load 和 initialize方法区别)