我可以在适用于iOS 4.0和5.0的应用程序中使用哪些功能?

时间:2011-12-16 12:33:57

标签: ios storyboard automatic-ref-counting

我必须在iOS 4和iOS 5上为这项工作制作应用程序.iOS 5.0 SDK具有很好的功能,如ARC,故事板等,这些功能在iOS 4中不可用。

我的问题是:为了使针对iOS 4和5优化的应用程序应该做什么?如果没有ARC,故事板等,我应该以经典的方式开发应用程序吗?

例如,如何关闭iOS 4的自动垃圾回收?如果我这样做,当然iOS 5将不会受益于ARC。另外,如果你将引用标记为弱/字符串 - 不能为iOS4编译,那不是吗?

1 个答案:

答案 0 :(得分:4)

正如Andrey在他的评论中指出的那样,虽然随Xcode 4.2和iOS 5.0 SDK附带的LLVM编译器3.0引入了自动引用计数,但您可以在针对iOS 4.0的应用程序中使用它。没有充分的理由不将它用于将在iOS 4.0+上运行的应用程序。此外,它与垃圾收集不同,正如我在this answer中解释的那样。

__weak指针仅适用于使用ARC且目标iOS 5.0及更高版本的应用程序。对于iOS 4.0,当您想要避免保留周期时,您需要回退到使用__unsafe_unretained作为指针类型。

但是,针对iOS 5.0之前的任何应用程序的应用程序无法使用故事板。这是一个很好的方便,但我个人并不亲自使用它。 Jonathan Wight和他has some complaints关于它当前的实现,所以如果你给这个特征一个通行证,你可能不会错过很多。