GreekBank极客班-Objective-c 初始化器和析构器

初始化器:

初始化器主要用于初始化对象实例或者类型,是一个特殊的函数。

对象初始化器:-(id)init可以重载多个

类型初始化器:+(void)initialize只能有一个

初始化对象实例时,init通常和alloc搭配使用。

init所做的事情可自行定义:

调用父类初始化器[super init](前置调用)

初始化当前对象实例变量

而类型初始化器initialize负责类型级别的初始化,并在每个类使用前被系统自动调用,且每个进程周期中,只能被调用一次;子类的initialize会自动调用父类的initialize(前置调用)

对象解构器dealloc负责释放对象拥有的动态资源:

自动实现:ARC机制将对象属性引用计数减持

手动实现:释放不受ARC管理的动态内存,例如malloc分配

手动实现:关闭非内存资源,如文件句柄,网络端口等

dealloc是由ARC根据对象引用计数规则,在使用内存前,自动调用,且没有手工调用。

子类的dealloc会自动调用父类的dealloc(后置调用)

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

推荐阅读更多精彩内容