《IOS开发系列教程》Objective C学习之构造函数和析构函数

《IOS开发系列教程》Objective C学习之构造函数和析构函数

有类似的2个函数
Init —-> 构造函数?

dealloc ——> 析构函数

但是,init这个函数区别于c++的构造函数之处在于:

如果没有其他的构造函数,无参数的构造函数一定会被系统调用。而init这个函数则不会被强制调用。

即使你定义了init这个函数,系统不会自动调用它,除非你显示的调用,例如:
ClassA *a = [ClassA alloc];//不会调用
ClassA *a = [[ClassA alloc] init];//会调用

 

不过dealloc这个函数是在系统回收内存的时候调用,什么时候回收?这个根据你有没有使用ARC(auto reference counter)来决定。
 

 

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章转载自:IT夜班车,否则按侵权处理.

    分享到:

留言

你的邮箱是保密的 必填的信息用*表示