【发布时间】:2012-02-27 02:58:08
【问题描述】:
在苹果文档中,我看到 ARC 的最低要求是 iOS 4.3,但在 WWDC 2011 视频中,他们谈到 iOS 4.0 的最低要求。
ARC 可以在什么最小的 iOS 版本上运行?
ARC 能否在 iOS 4.0 上运行?
【问题讨论】:
标签: iphone ios ipad automatic-ref-counting
在苹果文档中,我看到 ARC 的最低要求是 iOS 4.3,但在 WWDC 2011 视频中,他们谈到 iOS 4.0 的最低要求。
ARC 可以在什么最小的 iOS 版本上运行?
ARC 能否在 iOS 4.0 上运行?
【问题讨论】:
标签: iphone ios ipad automatic-ref-counting
不知道您在哪里看到了有关 4.3 的信息(您有链接吗?) - 但在 "Transitioning to ARC Release Notes" Apple 中说 iOS 4。
【讨论】:
ARC 是编译器而非设备的功能,因此从技术上讲,它与使用它的操作系统无关。两者的区别在于弱引用的实际归零。阅读this 了解更多信息。
在具有 5.0 之前操作系统的设备上运行使用 ARC 编译的应用程序实际上将手动将引用归零,而不是实际将它们归零。自动归零是 ARC 的核心功能,这就是为什么您不再需要调用 dealloc 或释放对象的原因。
【讨论】:
ARC 是编译器级别的功能。因此,如果您能够使用最新的 LLVM 3 编译器编译代码,它应该可以工作。一些非常老的代码库(主要是老的 C 语言第三方库)需要 GCC 编译器将无法工作(这样的代码库非常非常少见)
清零弱引用是 ARC 所利用的运行时功能,在 iOS 5/Lion 之前的操作系统上不可用。但是没有弱引用的 ARC 仍然可以工作。
【讨论】: