0

我有一个关于目标 c 的问题。我买了一本关于目标 c 的书。我是 Objective c 的新手,这本书包括许多关于内存管理的教程。我有 mac 版本 10.7.5。所以在关于 dealloc 的教程中,xcode 说我“ARC 禁止显式发送‘dealloc’的消息”。所以我在许多论坛中搜索这个错误。在这些论坛上,很多人说[super dealloc]继承自NSObject是旧的,新版本的系统会自动进行内存管理。该书于 2011 年出版。

我希望每个人都能理解我。

先感谢您。

4

1 回答 1

3

iOS 有一个新的(ish)系统,称为 ARC,它会自动向您的对象发送 release/retain/dealloc 等消息。你可以在这里阅读更多关于它的信息。

回答您的问题时要注意的重要一点是 ARC 是可选的。你可以使用它,但你不必这样做。(当创建一个新的 XCode 项目时,你要么勾选“启用自动引用计数”按钮,要么不勾选。)

因此,回答您的问题:如果您在项目中使用 ARC,是的,dealloc不再需要。如果您不使用 ARC,您仍然需要管理自己的内存。这取决于您如何设置项目。

于 2013-08-15T19:15:32.440 回答