《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夜班车,否则按侵权处理.