Answers:
由你决定。您可以使用ARC(自动引用计数)编写应用程序,并且Xcode将编写“胶合代码”,以使启用ARC的应用程序可以在iOS 4上运行,而无需进行任何修改。但是,某些事情将无法正常工作,并且最明显的是,您可能希望使用的许多库(有时)会引发无数错误,并且直到开发人员发布与ARC兼容的更新后,您才能使用它们。
编辑:我最近发现,您可以按文件关闭ARC。请参阅pixelfreak的答案。因此,我的建议仍然有效,但是现在不需要更新第3方库来使用ARC。
这是苹果公司对退出ARC选择特定文件的看法:
当您迁移项目以使用ARC时,-fobjc-arc编译器标志被设置为所有Objective-C源文件的默认设置。您可以使用特定类的-fno-objc-arc编译器标志禁用ARC。在Xcode中,在目标“构建阶段”选项卡中,打开“编译源”组以显示源文件列表。双击要为其设置标志的文件,在弹出面板中输入-fno-objc-arc,然后单击“完成”。
查看完整的过渡指南这里。
-fno-objc-arc
JSONKit
为例。尝试通过ARC检查运行它。您会明白我的意思的。;)
对于仍然对如何关闭单个文件的ARC感到好奇的任何人,这是我的工作:
Build Phases > Compile Sources
我不知道这是否是推荐的方法,但是对我有用。
PS:我从此处 clang.llvm.org收集了此信息,该信息可公开访问,因此不在NDA之下。
iOS 5仍处于NDA之下,并且可能要等到它们发布公共版本之后。如果您有开发者帐户,请前往Apple开发者论坛并在此处提问。
对于以前的版本,您必须计算引用数并相应地保留和发布。查阅《内存管理》指南。
编辑:这是自动引用计数的公共规范,并来自公共iOS 5页面的报价:
用于Objective-C的自动引用计数(ARC)使内存管理成为编译器的工作。通过使用新的Apple LLVM编译器启用ARC,您将不再需要再次键入“保留”或“释放”,从而大大简化了开发过程,同时减少了崩溃和内存泄漏。编译器完全了解您的对象,并在不再使用每个对象时将其释放,因此应用程序可像以往一样快速运行,并具有可预测的平滑性能。
目前,详细信息还在NDA之下,但Apple已在iOS 5中实现了自动引用计数(ARC),如下所示:http://developer.apple.com/technologies/ios5/
如果您使用iOS 5 SDK在Xcode 4中开发新应用,则可以放心地忽略保留/释放计数。
[编辑] sudo rm -rf很好;第三方库可能会受到严重影响