使用ARC,我是否需要手动管理内存?

时间:2012-09-19 04:58:35

标签: objective-c xcode automatic-ref-counting

我的问题基本上就是标题。在启用了自动引用计数的XCode中,我是否需要手动管理内存?比如调用release,retain等?

谢谢!

1 个答案:

答案 0 :(得分:5)

ARC只处理Objective-C对象。因此,您需要手动继续管理Core Foundation和普通C内存。

虽然您不需要手动保留或释放,但您仍然负责阻止保留周期 - 确保您将适当的属性标记为强弱。因此,您需要继续至少考虑所有权的这一方面。

除此之外,还有至少一个非常具体的怪癖 - 如果堆栈要在它们下面解开,你需要记住复制块。这是为了确保它们最终在堆而不是堆栈上,因此与内存管理相关。