我知道现在使用Xcode,建议使用ARC,但是我已经阅读了一些与iOS 4.x不兼容的内容,至少在使用__weak
时是这样。当我创建IBOutlet
时,它会选择弱或强作为存储类型,这是否意味着我的应用程序仅限于iOS 5或更高版本,或者它还会在较旧的iOS上运行吗?
答案 0 :(得分:2)
绝对只使用ARC。正如您所指出的,如果您选择提供iOS 4.3兼容性,那么您不会享受weak
变量的一个小优势功能,它们会在他们自动nil
时为您提供。重新分配(但你在非ARC代码中没有这个功能,所以它不像你丢失任何东西)。并且,是的,当您从Interface Builder 控制 -drag到.h文件时,它表示您只有strong
和weak
选项,但在最新的Xcode中,至少,如果您将iOS 4.3作为目标并选择weak
,它会自动为您创建__unsafe_unretained
,所以一切都很好。
简而言之,即使您的目标是支持iOS 4.3,也要使用ARC,并且您的编码寿命将比不使用ARC时更好。即使在iOS 4.3中,您也可以获得如此多的精彩ARC优势。如果您愿意使用iOS 5.0作为目标部署,那么您将享受ARC的全部优势。
如果你使用Xcode 4.5,你肯定会失去对iPhone 3G及更早版本的处理器armv6的支持,因此你的应用程序只支持iPhone 3GS及更高版本。
答案 1 :(得分:1)
不,ARC只是编译器功能。这是每个文件,因此它根本不会影响您现有的代码。
答案 2 :(得分:0)
iOS版本支持取决于您的Xcode版本。
使用最新版本的Xcode(4.5),您可以为iOS 4.3及更高版本创建应用程序。如果您需要为早期版本的iOS(4.3之前的版本)创建应用程序,则需要安装Xcode 4.4.1。