zoukankan      html  css  js  c++  java
  • Swift 可选值

    Swift 可选值


    Swift的nil和OC有些不一样
    OC 只有对象可以用nil
    Swift基础类型(整形 浮点)没有值时也是nil 当初始化的时候 Swift可以没有初始值的 产生了可选值Optional

    定义可选值很容易 只需在类型的后面加一个 ? 就行

    例 var value:Int?
    

    一个Optional值和一个非Optional值得区别 Optional值未经初始化虽然为nil 但普通变量连nil都没有(直接报错)

    提取可选类型的值(强制解析)

    Optional 值不能被直接使用.因为可选值有两种状态 分别是有值和没值 所以我们要告诉编译器是否有值
    强制解析可选类型的值只需在变量后加!就可以.

    var value:Float?
    var value2:Float = value!
    print(value2)
     
    //如果value没有值会报运行时错误(编译时不会报错)
    

    当我不知道Optional是否有值 改怎么操作?

    //如果值不为nil 在执行后面的代码
    var value:Int?
    if nil != value {
        print(value)
    }
    
    //var value:Int?
    var value:Int? = 10
    if let tempValue = value {
        print(tempValue)
    }
    
    

    可选项:?? 他可以对nil进项快速判断 ?? 后面的值是参与计算的

    var num:Int? = 10
    let result:Int = num ?? 0
    print(result)
    //结果为10
    
    var num:Int? 
    let result:Int = num ?? 0
    print(result)
    //结果为0
    
  • 相关阅读:
    OO第三单元作业总结
    OO第二单元作业总结
    OO第一单元总结
    OO第四单元总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
    OO Unit4 总结
    OO Unit3 总结
    OO Unit2 总结
  • 原文地址:https://www.cnblogs.com/xubaoaichiyu/p/5507023.html
Copyright © 2011-2022 走看看