2019-01-28: #available && @available
程序员文章站
2024-02-23 10:04:22
...
一:#available
1: 主要用在条件语句判断当中、判断不同的手机系统、平台
if #available(iOS 8.0, *) {
print("从8.0系统开始...")
}
guard #available(iOS 8.0, *) else {
print("低于8.0系统的版本...直接返回")
return
}
二:@availabel
1: 主要用在函数方法、类、协议等前面使用,表明适用的平台类型和手机系统。
@available(iOS 9, *)
func method1() {}
/// 表示该方法只有在iOS 9.0以上的系统版本才会执行
2: @available(iOS 9, *)
iOS 9.0: 表示从9.0手机系统开始
“ * ”:表示支持所有平台
3: @available(iOS 9, *) 全称为:@available(iOS, introduced=9.0)
4: keyword:
deprecated: 从某个版本开始过期该声明
obsoleted: 从某个版本开始废弃(跟deprecated的区别就是:deprecated是还可以使用、只是不推荐;但是obsoleted是调用就编译报错该声明)
message: 附加信息
unavailable:指定平台是无效的
renamed:新名字:重新命名声明
// 这个方法从6.0开始引入声明,过期该声明为9.0版本
@available(iOS, introduced: 6.0, deprecated: 9.0, message:"")
func myMethod() { }
// 这个方法从8.0开始引入声明,过期该声明为10.0版本
@available(iOS, introduced: 8.0, obsoleted: 10.0, message:"")
func myMethod() { }
三:获取系统版本
/// 字符串类型?
let systenVersion = UIDevice.current.systemVersion
print("systenVersion=\(systenVersion)")
四:Swift版本不同版本区间的判断?
if #available(iOS 8.0, *) {
print("8.0 以上")
if #available(iOS 10.0, *) {
print("10.0以上")
}else {
print("10.0以下")
}
}else {
print("8.0 以下")
}
转载于:https://www.jianshu.com/p/236c763d0f61
上一篇: SpringBoot整合MyBatisPlus配置动态数据源的方法
下一篇: 漂亮的表格
推荐阅读
-
Available Plugins
-
每周 Swift 社区问答:@available 和 #available
-
2019-01-28: #available && @available
-
@available 和 #available的用法
-
浅谈XILINX FPGA CLB单元 之 分布式RAM (Distributed RAM Available in SLICEM Only、RAM128X1D、Verilog原语描述)
-
NetBeans IDE 6.0 Preview (Milestone 9) Available 博客分类: 杂七杂八 NetbeansIDEEclipseMyeclipseRails
-
Java SE 6 Update N Early Access is now available! 博客分类: 杂七杂八 JavaAccessSwingRESTWeb
-
MariaDB Galera Cluster 5.5.37 now available_MySQL
-
Lucene 1.9-final release available luceneApacheJavaSVNCGI
-
ORA-01034: ORACLE not available