美文网首页
09 - 基础篇之可选类型

09 - 基础篇之可选类型

作者: flowerflower | 来源:发表于2018-01-31 21:38 被阅读25次

    概念
    在OC开发中,如果一个变量暂停不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型)
    在swift开发中,nil也是一个特殊的类型.因为和真实的类型不匹配是不能赋值的(swift是强类型语言)
    但是开发中赋值nil,在所难免.因此推出了可选类型

    可选类型的使用

    //   var name1:Optional<String> = nil //不常用 等价于
            var name2: String? = nil   //常用(语法糖)
            name2 = "大哈哈"
            print(name2) //打印:Optional("大哈哈")
    //        print(name2!) //注意:先判断再打印 强制解包->如果没赋值会导致奔溃   打印:大哈哈
            //注意:  强制解包是非常危险哦, 如果可选类型为nil,则会奔溃( fatal error: unexpectedly found nil while unwrapping an Optional value)
            //建议:在强制解包钱,先对可选类型进行判断
            if name2 != nil {
                print(name2!)  //强制解包  打印:大哈哈   
            }
            //针对上面写法进行优化 (可选绑定)
            //1.判断那么是否有值,如果没有值,则不执行{}
            //2.如果name有值,系统会自动将name进行解包,并且将解包后的结果,赋值给name2
            
            if let name2 = name2{
                print(name2)
            }
            
    

    相关文章

      网友评论

          本文标题:09 - 基础篇之可选类型

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