Swift - 类型转换
-
简述
为了验证实例的类型,“类型转换”在 Swift 4 语言中发挥作用。它用于检查实例类型是否属于特定的超类或子类,或者它是在自己的层次结构中定义的。Swift 4 类型转换提供了两个运算符“is”来检查值的类型和“as”并将类型值转换为不同的类型。类型转换还会检查实例类型是否遵循特定的协议一致性标准。 -
定义类层次结构
类型转换用于检查实例的类型,以确定它是否属于特定的类类型。此外,它会检查类及其子类的层次结构,以检查并强制转换这些实例以使其成为相同的层次结构。当我们使用playgrond运行上述程序时,我们得到以下结果 - -
类型检查
类型检查是通过“is”运算符完成的。“is”类型检查运算符检查实例是否属于特定子类类型,如果它属于该实例,则返回“true”,否则返回“false”。当我们使用playgrond运行上述程序时,我们得到以下结果 - -
向下转换
向下转换子类类型可以使用两个运算符(as? 和 as!)来完成。'as?' 当值返回 nil 时返回一个可选值。它用于检查成功的向下转换。'as!' 当向下转换返回 nil 值时,返回强制展开,如可选链接中所述。它用于在向下转型失败的情况下触发运行时错误当我们使用playgrond运行上述程序时,我们得到以下结果 - -
类型转换:任何和任何对象
关键字“Any”用于表示属于任何类型(包括函数类型)的实例。当我们使用playgrond运行上述程序时,我们得到以下结果 - -
任何对象
为了表示任何类类型的实例,使用了“AnyObject”关键字。当我们使用playgrond运行上述程序时,我们得到以下结果 -