1

我想@warn_unused_result @rethrows func filter(@noescape includeElement: (Self.Generator.Element) throws -> Bool) rethrows -> [Self.Generator.Element]在我的一个项目中使用该方法。该应用程序应在 iOS 8 及更高版本上运行。如果我在文档中查找该方法,它会显示“可用性:iOS(9.2 及更高版本)”

在此处输入图像描述

但是,如果我在 iOS 8.4 上调用该方法,它不会出现任何问题。

任何想法为什么文档说 iOS 9.2 但它仍然适用于 iOS 8.4?那么我可以在没有任何可用性检查的情况下调用它并确保它将来不会崩溃吗?

提前致谢!

4

1 回答 1

4

这是 Swift 标准库的一部分,它完全不依赖于 iOS SDK。Swift 运行时与应用程序捆绑在一起,因此对于系统而言,编写哪个版本的 Swift 应用程序并不重要。我认为这个可用性标记可能与filterSwift 2 中对功能所做的更改有一些共同之处。看看这两个文档: Swift 2.1 Swift 1.2

如您所见,这两种方法的声明是不同的。

于 2016-01-12T09:12:06.203 回答