美文网首页
swift 中简洁的is语法

swift 中简洁的is语法

作者: 90后的晨仔 | 来源:发表于2020-03-22 21:26 被阅读0次

    swift为我们提供了一个简洁的is语法,这个语法可以用来对于不确定的类型进行判断

    1.is 的作用

    is 在功能上相当于原来oc中的 isKindOfClass ,可以检查一个对象是否属于某类型或其子类型。

    2. is 与 oc中的 isKindOfClass的区别

    它不仅可以用于 class 类型上,也可以对 Swift 的其他像是 struct 或 enum 类型进行判断。

    class testClassA {}
    class testClassB: testClassA {}
    let obj: AnyObject = testClassB()
    if (obj is testClassA){
        print("属于 testClassA")
    }
    
    if (obj is testClassB){
        print("属于 testClassB")
    }
    
    3. 若编译器能推断出来类型那么这个是没有必要使用的,一般自定义的类、结构体、枚举等编译器确定不了类型才去使用is

    注释:如果编译器知道类型,那么 is 的判断 就没有必要,编译器将会抛出一个警告,来提示你并没有转换的必要。

     let string = "String"
     if string is String {
        // Do something
    }
    

    相关文章

      网友评论

          本文标题:swift 中简洁的is语法

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