我对目标c有疑问。我买了一本关于目标c的书。我是目标c的新手,本书包含许多关于内存管理的教程。我有mac版本10.7.5。所以在关于dealloc的教程中,xcode说我“ARC禁止发送'dealloc'的显式消息”。所以我在很多论坛中搜索这个错误。在这些论坛中,很多人都说NSObject的[super dealloc]继承是旧的,而较新版本的系统会自动进行内存管理。这本书出版于2011年。
我希望每个人都理解我。
提前谢谢。
答案 0 :(得分:3)
有一个名为ARC的新(ish)系统,可自动向您的对象发送release / retain / dealloc等消息。您可以阅读更多相关信息here。
回答问题时需要注意的重要事项是ARC 可选。你可以使用它,但你不必这样做。 (在创建新的XCode项目时,您可以勾选“启用自动引用计数”按钮,或者不要。)
所以,回答你的问题:如果你在项目中使用ARC,是的,不再需要dealloc
。如果您不使用ARC,您仍需要管理自己的内存。这取决于你如何设置你的项目。