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版本点击这里欢迎加入QQ群交流: 594119878最新更新日期:18-09-17 About A cu...
    ylgwhyh阅读 25,610评论 7 249
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 昨天老婆做翻糖蛋糕,由于揉翻糖需要较大力气,自然重任就落到我身上。 据说揉翻糖跟揉面一样,就是反复的揉按,最终将一...
    承谦阅读 361评论 0 1
  • 突然有种分手的念头 我知道并不能 我做不到 他做不到 这样 什么时候能是个头 或许...也许.... 哪一天......
    野草儿阅读 213评论 0 1
  • 查理思考问题总是从逆向开始。 人人都想要追求人生如何获得幸福?但是大部分的人总是很少去思考不幸福的人生是什么样的?...
    琅琊老常阅读 270评论 0 0