可选类型
一个变量要么有值,要么没值。
语法定义:let name: String? = nil
。只有可选类型的可以赋值 nil
。
怎么使用:
- 使用
!
进行强制解包。
var num: Int? = 0;
num = nil
if num != nil {
num! + 1
}
- 可选绑定
var num: Int? = 0;
num = nil
if let result = num {
result + 1
}
- guard 保护
func check(number: Int?) {
guard let result = number else {
return;
}
result + 1
}
- 空合运算符
var num: Int? = 0;
num = nil
var result ?? 0
result + 1
类型装换
常见的类型转换有四种:
is
:用于判断一个实例是否是某一种类型as
:将实例转成某一种类型,一般都是子类转父类as?
:将某个类型转成可选类型,通过判断可选类型是否有值来判断是否转化成功as!
:将某个类型转成具体类型,但是注意如果不是该类型,则程序会崩溃。
Swift 为不确定的类型提供了两种特殊的类型别名:Any
和 AnyObject
的类型转换
Any
可以表示任何类型,包括函数类型。
AnyObject
可以表示任何类类型的实例。