标签:分类 函数地址 接受 多次 方式 加载 加载类 objc end
load initialize 方法的区别
1.调用的方式
- load 根据函数地址调用
- initialize 通过objc_msgsend调用
2.调用时刻
- load runtime 加载类,分类的时候调用(只会调用1次)
- initialize 是类第一次接受消息的时候调用,每个类只会initialize一次(如果子类没有实现,父类会调用多次)
调用的顺序?
1.load
- 先调用类的load
- 先调用父类的,在调用子类的,
- 先编译先调用
- 再调用分类的load
- 先编译 先调用load
2.inintilize
- 先调用父类
- 子类 (如果未实现,则调用父类的,(消息机制))
标签:分类 函数地址 接受 多次 方式 加载 加载类 objc end
原文地址:https://www.cnblogs.com/liuwenqiang/p/13231989.html