我正在学习如何使用这本书编写iOS操作系统"首先进行iPhone和iPad开发" (第二版)。
当我尝试编译本书中的代码时,我得到的错误是在引用计数模式下不允许使用release
关键字。
在这种情况下我是否必须明确释放内存?如果是 - 怎么样?
答案 0 :(得分:46)
听起来像你的书早于ARC。
如果在项目设置中禁用ARC,则可以使用相同的代码开发应用程序:
但是...... ARC已经出现了一段时间,iOS变化很快。如果这本书没有提到ARC,那么它可能会标志着它针对的iOS版本低于5.0,这不一定是目前学习iOS开发的最佳方式。
只需从您看到的代码中删除[super dealloc]
,retain
,release
和autorelease
,即可粗略地转换为ARC环境。但是理解为什么首先出现在那里以及为什么ARC不再需要它们是有价值的。
答案 1 :(得分:15)
您已在项目中启用Automatic Reference Counting (ARC)
。这意味着您可以跳过dealloc
,release
和autorelease
命令。 : - )