as
是强制类型转换运算符。使用它可以将一个对象的类型转换为另一种类型。如果类型转换失败,会触发一个运行时错误。
as!
是强制类型转换运算符。使用它可以将一个对象的类型转换为另一种类型。如果类型转换失败,会触发一个运行时错误。它与 as 类似,但是它更加强烈地说明了类型转换是成功的。
as?
是可选类型转换运算符。使用它可以将一个对象的类型转换为另一种类型。如果类型转换失败,则返回 nil。
如下是一个简单的例子
let num: Any = 5
let intNum = num as? Int
print(intNum) // Optional(5)
如果这里 as
或 as!
那结果就会是5,而不是Optional(5)