标签:als -- ide 第一个 time 运行时 instance 继承 log
1. + (void)initialize;
在程序主动调用类的第一个方法前,initialize会被调用;如果类的某些方法是被系统调用的,不算是程序主动调用;如果类有继承,
父类的initialize会先于子类被调用;如果子类没有实现initialize或者显示调用[super initialize],父类的initialize就有可能被多次调用;
可以在父类中重写initialize,来避免父类的initialize被多次调用;
+ (void)initialize { if (self == [ClassName self]) { // ... do the initialization ... } }
2. + (void)load;
当类或类别被系统运行时runtime加载时,如果该类或类别实现了load,load会被调用;
如果想在类加载完成后,执行一些代码,就实现load;
1.+ (instancetype)alloc;
alloc会生成一个新的对象,但是对象中的实例变量都未初始化,地址指向0;
一般需要重写init来初始化类的实例变量;
TheClass *newObject = [[TheClass alloc] init]; --创建对象
标签:als -- ide 第一个 time 运行时 instance 继承 log
原文地址:http://www.cnblogs.com/gaihui/p/7594642.html