Swift:API 可用性检查

Swift 提供了 @available#available 这两个 Attribute 用于函数的可用版本定义和检查。

@available

用于声明一个函数的使用平台和适用版本,在 @available条件后可以包含一些平台(iOSOSXwatchOS)和版本

@available(iOS 9.0, *) // 或者 @available(iOS 9, OSX 10.10, *)
func sayHello(_ name: String?) {
   let personName = name ?? "Dalang"
   print("Hello, \(personName)")
}

#available

用于函数调用时的函数版本和适用平台判断,格式同 @available 类似

if #available(iOS 9.0, *) {
  sayHello(nil)
} else {
  // Fallback on earlier versions
}

当调用 sayHello 函数的时候,如果不加入 #available 判断,会发生编辑错误,这大大提高了编译安全性。

1.png

你可能感兴趣的:(Swift:API 可用性检查)