Objective-C中的分类+load方法

分类是在运行时被添加到类中的,而定义分类的库可能是动态加载的,这就导致分类在比较晚的时候才被加载.

在第一次加载分类的时候会执行+load方法,可以使用他对静态变量进行初始化.

需要注意的是,在分类中是用init方法进行初始化不安全的,因为类自己已经实现了他,如果多个分类都实现init,那么无法预测哪个init会执行,但是对于load方法,每个分类都可以去实现他,而且所有的load方法都会执行,当然顺序也是不可预测的.还有,不要手动调用load方法!

load方法不会像init方法那样多次运行,他只会被调用一次,并且不能调用[super load];…