总结Obj-C中+load与+initialize的区别

+load 与 +initialize两个类方法在Objective-C中,在于iOS会在运行期提前并且自动调用这两个方法。
+load会在类初始加载时调用。
+initialize会在第一次调用类的类方法或实例方法之前被调用。
这两个方法是可选的,且只有在实现了它们时才会被调用。

Apple的文档很清楚地说明了initialize和load的区别在于:load是只要类所在文件被引用就会被调用,而initialize是在类或者其子类的第一个方法被调用前调用。所以如果类没有被引用进项目,就不会有load调用;但即使类文件被引用进来,但是没有使用,那么initialize也不会被调用。


 
  



你可能感兴趣的:(IOS)