【问题标题】:What features can I use in an application that works on both iOS 4.0 and 5.0?我可以在适用于 iOS 4.0 和 5.0 的应用程序中使用哪些功能?
【发布时间】:2012-01-21 23:34:18
【问题描述】:

我必须让应用程序在 iOS 4 和 iOS 5 上都可以工作。iOS 5.0 SDK 具有很好的功能,例如 ARC、故事板等,而这些功能在 iOS 4 中是不可用的。

我的问题是:为了使应用程序针对 iOS 4 和 5 进行优化,应该怎么做?我应该在没有 ARC、故事板等的情况下以经典方式开发应用程序吗?

例如,如何关闭 iOS 4 的自动垃圾收集?如果我这样做了,iOS 5 当然不会从 ARC 中受益。此外,如果您将引用标记为弱/字符串 - 这不会为 iOS4 编译,不是吗?

【问题讨论】:

  • ARC 也适用于 iOS 4,而且 ARC 不是自动垃圾收集,它是一个编译器功能。

标签: ios storyboard automatic-ref-counting


【解决方案1】:

正如 Andrey 在他的 cmets 中指出的那样,虽然 Xcode 4.2 和 iOS 5.0 SDK 附带的 LLVM Compiler 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 关于它的当前实现,所以如果你通过该功能,你可能不会错过太多。

【讨论】:

    猜你喜欢
    • 2010-11-27
    • 2016-02-21
    • 2011-03-14
    • 2012-11-29
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多