类型转换
类型转换可以判断实例的类型,或者在该实例层次中父类或子类的实例.
Swift中转换实现是 is 和 as 两个关键字.
类型检查 is
is检查一个实例的类型,返回true或false
1 | let ar1 = ["1","2"] |
向下的类型转换 as
as是把某值转换成另外一种类型.
当你确定会转换成功时,使用 as 或 as! 来展开;
当不确定有值时,使用 as? 可选来进行转换,也就是转换失败时,可以返回nil.
1 | let ar2 = ar1 as Array<Any> |
Any和AnyObject的类型转换
这两种是Swift提供的不确定的类型
AnyObject表示任何实例(对象)
Any表示任何类型,包括函数类型
当你确切的需要使用他们的功能和行为时再使用Any和AnyObject.
在写代码时,明确类型表达总是要好些.
样例:
1 | //当数组是Any类型时,可以添加任何类型 |
The End