根据
Apple’s ARC Documentation,在使用ARC时开发软件的方式有相当多的变化.
作为Objective-C的一个完整的初学者,最好从ARC残疾人开始,这样做会让我更好地了解幕后发生的情况?或者ARC基本上不赞成做“事情的”旧方式“,而不是真的值得花时间学习?
解决方法
这基本上是一个意见问题,因此是相当危险的.
我的意见是有资格的.值得学习基础内存管理.资格是不会陷入僵局的.通过一些非常简单的项目,了解ARC正在为您做什么.一旦你对如何处理内存管理有一个基本的了解,即如何避免保留循环(就像jemmons所暗示的那样,它们仍然是ARC的一个问题).
一旦掌握内存管理的基本知识.开始使用ARC.
另外作为Jason Coco指出,ARC处理内存管理(简单地说)NSObject子类.所以所有的CF对象,你仍然会处理自己,如果你需要使用它们.
关于ARC正在为您做的一个很好的解释可以在WWDC2011 Session 323 – 引入自动参考计数中找到.
但还有一些其他考虑可能会引导您的决定.
您需要定位哪些设备?
如果您打算将目标iOS 4.3和更高版本的ARC有效地处理您的内存管理(NSObject子类)
如果您打算使用iOS 4.2,那么您将无法使用弱引用(您将使用unsafe_unretained). iPhone 3g? &安培; iPod touch第二代被困在这个操作系统级别,因为许多这些设备仍然在服务,许多开发人员仍然针对他们.
如果您计划在4.2之前的iOS上进行定位(这很少见),您一定需要学习MRC(手动参考计数).
如果您打算构建Mac应用程序,则该平台上可以使用垃圾收集器. ARC也是一个选择(完整的ARC 10.7,没有弱的支持10.6).