1

我知道现在使用 Xcode,建议使用 ARC,但是我读过一些关于它与 iOS 4.x 不兼容的信息,至少在使用__weak. 当我创建IBOutlet它时,它提供了作为存储类型的选择,这是否意味着我的应用程序仅限于 iOS 5 或更高版本,或者它仍会在较旧的 iOS 上运行?

4

3 回答 3

2

绝对只使用ARC。正如您所指出的,如果您选择提供 iOS 4.3 兼容性,您将不会享受weak变量的一点好处功能,当它们被释放时它们会被自动nil-ed (但您没有那个)非 ARC 代码中的功能,因此您不会丢失任何东西)。而且,是的,当您control从 Interface Builder -drag 到 .h 文件时,它说您只有strongandweak选项,但在最新的 Xcode 中,至少,如果您将 iOS 4.3 作为目标并选择weak,它将自动为您创建它__unsafe_unretained,所以一切都很好。

简而言之,使用 ARC,即使您的目标是支持 iOS 4.3,您的编码寿命也会比不使用 ARC 的情况好得多。即使在 iOS 4.3 中,您也能获得如此多美妙的 ARC 好处。如果您愿意使用 iOS 5.0 作为您的目标部署,那么您将享受 ARC 的全部优势。

如果你使用 Xcode 4.5,你肯定会失去对 armv6 的支持,这是 iPhone 3G 和更早版本的处理器,所以你的应用程序将只支持 iPhone 3GS 和更高版本。

于 2012-12-04T07:09:04.127 回答
1

不,ARC 只是编译器功能。它是每个文件的,所以它根本不会影响您现有的代码。

于 2012-12-04T06:59:51.640 回答
0

iOS 版本支持取决于您的 Xcode 版本。

使用最新版本的 Xcode (4.5),您可以创建适用于 iOS 4.3 及更高版本的应用程序。如果您需要为早期版本的 iOS(4.3 之前)创建应用程序,您需要安装 Xcode 4.4.1。

于 2012-12-04T07:03:55.580 回答