使用ARC进行内存管理

时间:2014-04-30 04:17:50

标签: ios automatic-ref-counting

当释放时,ARC会以递归方式释放视图控制器中的所有属性吗?换句话说,何时“取消”必要的属性(ARC不会为你清理内存)?听起来像循环依赖是一种情况,但我很好奇是否还有其他重要案例。

1 个答案:

答案 0 :(得分:2)

根据苹果文件

  

而不是你必须记住何时使用保留,释放和   自动释放,ARC评估对象的生命周期要求   并自动为您插入适当的内存管理调用   在编译时。编译器还生成适当的dealloc   方法给你。一般来说,如果你只使用传统的ARC   只有在您需要时,Cocoa命名约定才是重要的   与使用手动引用计数的代码互操作。

问题的答案

  

ARC会以递归方式释放视图控制器中的所有属性   中解脱出来?换句话说,当"无效"必要的财产   (ARC不会为你清理内存)?

根据Apple的文档,iOS编译器将插入适当的版本/使属性变量为nil。因此,我们必须注意适当地声明属性变量,例如,使用弱,强等等。

以下链接的更多参考