我知道现在使用 Xcode,建议使用 ARC,但是我读过一些关于它与 iOS 4.x 不兼容的信息,至少在使用__weak
. 当我创建IBOutlet
它时,它提供了弱或强作为存储类型的选择,这是否意味着我的应用程序仅限于 iOS 5 或更高版本,或者它仍会在较旧的 iOS 上运行?
3 回答
绝对只使用ARC。正如您所指出的,如果您选择提供 iOS 4.3 兼容性,您将不会享受weak
变量的一点好处功能,当它们被释放时它们会被自动nil
-ed (但您没有那个)非 ARC 代码中的功能,因此您不会丢失任何东西)。而且,是的,当您control从 Interface Builder -drag 到 .h 文件时,它说您只有strong
andweak
选项,但在最新的 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 和更高版本。
不,ARC 只是编译器功能。它是每个文件的,所以它根本不会影响您现有的代码。
iOS 版本支持取决于您的 Xcode 版本。
使用最新版本的 Xcode (4.5),您可以创建适用于 iOS 4.3 及更高版本的应用程序。如果您需要为早期版本的 iOS(4.3 之前)创建应用程序,您需要安装 Xcode 4.4.1。