1、+load是根据函数地址直接调用,initialize是通过objc_msgSend调用
2、+load是runtime加载类、分类时候调用(只会调用一次)
3、initialize是第一次接受消息的时候调用,每个类只会调用一次(子类没实现,父类可能被调用多次)
4、+load调用优先于initialize,子类调用+load之前会调用父类的+load,再调用分类的+load,分类之间先编译,先调用。
5、initialize先初始化父类,再初始化子类(可能最终调用父类的initialize)
+load 和 initialize
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。