initialize方法和init区别详解

initialize运行在init之后.
每个类initialize只会运行一次, init会运行多次.
在程序运行过程中,它会在你程序中每个类调用一次initialize。
runtime 使用了发送消息 objc_msgSend 的方式对 +initialize 方法进行调用
这个调用的时间发生在你的类接收到消息之前,
但是在它的父类接收到initialize之后。

如果子类没有实现 +initialize 方法,那么继承自父类的实现会被调用;
如果一个类的category实现了 +initialize 方法,那么就会对这个类中的实现造成覆盖。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容