您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页iOS基础知识-类的启动过程

iOS基础知识-类的启动过程

来源:二三四教育网

1.+load方法

在程序启动的时候会加载所有的类和分类,并调用所有类和分类的+load方法(只会调用一次)

先加载父类,再加载子类;也就是先调用父类的+load,再调用子类的+load

先加载元原始类,再加载分类

不管程序运行过程有没有用到这个类,都会调用+load加载

@implementation Person

+ (void)load

{

NSLog(@"%s", __func__);

}

@end

@implementation Student : Person

+ (void)load

{

NSLog(@"%s", __func__);

}

@end

输出结果:

+[Person load]

+[Student load]

2.+initialize

在第一次使用某个类时(比如创建对象等),只会调用一次+initialize方法

一个类只会调用一次+initialize方法,先调用父类的,再调用子类的

@implementation Person

+ (void)initialize

{

NSLog(@"%s", __func__);

}

@end

@implementation Student : Person

+ (void)initialize

{

NSLog(@"%s", __func__);

}

@end

int main(int argc, const char * argv[]) {

Student *stu = [Student new];

return 0;

}

输出结果:

+[Person initialize]

+[Student initialize]

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务