为什么iOS 9方法仍适用于iOS 8.4?

时间:2016-01-12 09:02:50

标签: ios swift ios8 ios9 availability

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

enter image description here

但是,如果我在iOS 8.4上调用该方法,则无任何问题。

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

提前致谢!

1 个答案:

答案 0 :(得分:4)

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

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