load方法和initialize的使用

1.load方法和initialize的使用:load方法是文件资源(.h,.m)被程序建在的时候调用,只是纯加载文件资源,加载到内存;initialize方法是类第一次被使用的时候,有懒加载的调用,如果在程序的运行过程中,若类一直没有被使用到,就不会调用这个类的initialize的方法.两者使用主要是在main函数作为分水岭,load是在main函数执行前,为initialize是在main函数后执行.

2.load方法和initialize的使用注意:当子类调用了load方法,也会调用父类的load方法,若子类没有调用load方法,不会调用父类的load方法;当子类调用了initialize方法,也会调用了父类的initialize方法,若子类不调用initialize方法,父类也会执行initialize方法(父类会加载自身调用一次initialize方法,子类调用initialize,还会调用一次父类的initialize方法,所以调用两次initialize方法,耗费性能),

正确的使用方式:

+ (void)initialize {

if (self == [Parent class]) {

NSLog(@"Initialize Parent, caller Class %@", [self class]);

}

}

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

推荐阅读更多精彩内容