1.检查类型
用类型检查操作符( is)来检查一个实例是否属于特定子类型。若实例属于那个子类型,类型检查操作符返回 true,否则返回 false。
if item is Movie { }
2.类型转换操作符(as,as?或 as!)。
当要将类型转换成超类时,和桥接OC对象时,用(as)。
当你不确定可以成功时,用类型转换的条件形式( as?)。条件形式的类型转换总是返回一个可选值,并且若是不可能的,可选值将是 nil。这使你能够检查向下转型是否功。
只有你可以确定一定会成功时,使用强制形式( as!)。当你试图转换为一个不正确的类型时,强制形式的类型转换会触发一个运行时错误
Any 和 AnyObject 的类型转换
Swift 为不确定类型提供了两种特殊的类型别名:
• Any 可以表示任何类型,包括函数类型。
• AnyObject 可以表示任何类类型的实例。