【问题标题】:Foundation API availability issue with swiftswift 的 Foundation API 可用性问题
【发布时间】:2016-08-16 07:08:26
【问题描述】:

我们在支持 iOS 7 设备的目标 c 应用程序中多次使用此代码。

NSArray* paths = NSSearchPathForDirectoriesInDomains(searchPath, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths firstObject];

在我们的目标 c 应用程序中,文档显示该 API 从 iOS 2.0 开始可用

我们正在将我们的项目从头开始移植到 Swift,并且自 iOS 8 以来就可以使用相同的 API。

我创建了一个新的支持 iOS 7 的 swift 测试项目,并使用了这个 API,它工作正常。 现在我很困惑,为什么在 Swift 项目中,Api 从 iOS 8.0 开始可用,但仍在 iOS 7.0 上运行。可能是文档有误。但这是我们检查可用性的方式。如果这不可信,则需要花费大量时间通过其他来源验证 API 可用性。

【问题讨论】:

    标签: ios objective-c swift foundation


    【解决方案1】:

    Swift 是在 iOS 8 中引入的,因此默认情况下,Cocoa Touch Framework 中的任何 Swift 类的可用性都是 iOS 8 或更高版本。

    要查看函数或类的真实可用性,请查看在线文档。正如here 所见,NSSearchPathForDirectoriesInDomains 的真正可用性来自 iOS 2,并且仍然继续可用。

    相关:What is the availability of NSNotFound?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多