+ load方法简要总结

+ (void)load方法

类的+load方法在main函数之前加载

然后是加载分类的+load方法

最后才加载main函数


原因:因为ObjC 对于加载的管理主要使用了两个列表,分别是 

loadable_classes 和 

loadable_categories

其中的add_class_to_loadable_list就是将未加载的类添加到 loadable_classes 数组中,add_category_to_loadable_list就是将未加载的分类添加到 loadable_classes 数组中

加载顺序是loadable_classes 然后 add_category_to_loadable_list

+load方法和+initialize方法的区别

load方法是在程序运行后立即执行,而init方法是在类的方法第一次被调用时执行;

load方法自身未定义不会沿用父类方法,而init会

分类中会执行所有的load方法(在类的load方法完后),但分类的init方法会只执行一个并覆盖类的init方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容