美文网首页
Swift - 类型判断is 与 类型转换as

Swift - 类型判断is 与 类型转换as

作者: 小驴拉磨 | 来源:发表于2020-07-09 17:36 被阅读0次

在Swift中,通常使用is和as操作符来实现类型检查和转换。下面通过样例来演示使用方法,首先定义几个类。

//基类,动物
class Animal{
}
 
//狗
class Dog:Animal{
}
 
//猪
class Pig:Animal{
}

1、is 用来做类型检查
(注意:is也可以用来检查某个类是否遵循了某个协议)

let dog = Dog()
let pig = Pig()
let arr = [dog,pig]
 
for animal in arr {
    if animal is Dog {
        print("这是只狗")
    }else if animal is Dog {
        print("这是只猪")
    }
}

2、as 用来做类型转换
(注意:如果不确定类型转换能否成功,可以在as后面加问号“?”)

let dog = Dog()
let pig = Pig()
let arr = [dog,pig]
 
for animal in arr {
    if let d = animal as? Dog {
        print("这是只狗")
    }else if let p = animal as? Pig {
        print("这是只猪")
    }
}

原文出自:www.hangge.com

相关文章

  • Swift:基础(二十八)类型转换

    Swift 类型转换 Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于其父类或者子类的实...

  • iOS swift 学习(四)

    Swift 类型转换Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于其父类或者子类的实例...

  • Swift - 类型判断is 与 类型转换as

    在Swift中,通常使用is和as操作符来实现类型检查和转换。下面通过样例来演示使用方法,首先定义几个类。 1、i...

  • iOS开发 - 「Swift 学习」Swift类型转换

    Swift类型转换 类型转换可以判断实例的类型,也可以用于检测实例类型是否属于父类或子类的实例类型转换用as操作符...

  • Swift - 类型转换

    类型转换 类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。 类型转换在 Swift 中使用 i...

  • 类型转换

    Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于其父类或者子类的实例。Swift 中类型...

  • Swift 之类型转换

    Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于其父类或者子类的实例。Swift 中类型...

  • Swift 类型转换

    Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于父类或者子类的实例。Swift 中类型转...

  • 19_ 类型转换

    类型转换 可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。 类型转换在 Swift 中使用 is 和 ...

  • Swift - 类型转换

    类型转换 可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。 类型转换在 Swift 中使用 is 和 ...

网友评论

      本文标题:Swift - 类型判断is 与 类型转换as

      本文链接:https://www.haomeiwen.com/subject/drvscktx.html