arc dealloc什么情况下调用构造函数时候调用

很显然是ARC的问题。

ARC是iOS 5推出的新功能全称叫 ARC(Automatic ReferenceCounting)。简单地说就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了该机制在iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2可以使用该机制简单地理解ARC,就是通过指定的语法让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理蔀分代码有一点,ARC并不是GC它只是一种代码静态分析(StaticAnalyzer)工具。

解决办法:选择要项目双击中间的工程名称,进入build setting


}

ARC是一个编译器特征它提供了对OC對象自动管理内存。ARC让开发者专注于感兴趣的代码和对象的关系而不用考虑对象的retain和release。

ARC在编译时期添加代码保证对象可用。概念上说ARC遵循手动引用计数的规则,替开发者在编译时期添加合适的代码

}

大家都知道ARC后是不能显示地调用dealloc方法但是可以重载此方法。

突然考虑到如果父类有属性需要释放而子类重写了此方法,

arc下虽然没有显式调用父类的[super dealloc],但结果仍然会調用我猜测编译期间编译器会聪明的帮我们加上了[super dealloc]。

}

我要回帖

更多关于 什么情况下调用构造函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信