美文网首页
Swift 可选(Optionals)类型

Swift 可选(Optionals)类型

作者: TheMrBigHead | 来源:发表于2018-10-09 22:35 被阅读0次

    Swift 的可选(Optional)类型,用于处理值缺失的情况

    Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:
    var optionalInteger: Int?
    var optionalInteger: Optional<Int>
    

    注意,在类型和 ?之间没有空格

    如果一个可选类型的实例包含一个值,你可以用后缀操作符 !来访问这个值,如下所示:
    optionalInteger = 42
    optionalInteger! // 42
    

    使用操作符!去获取值为nil的可选变量会有运行时错误

    import Cocoa
    
    var myString:String? = nil
    
    if myString != nil {
        print(myString)
    }else{
        print("字符串为 nil")
    }
    

    强制解析

    当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值,这就是强制解析

    自动解析

    在声明可选变量时使用感叹号(!)替换问号(?)

    import Cocoa
    
    var myString:String!
    
    myString = "Hello, Swift!"
    
    if myString != nil {
       print(myString)
    }else{
       print("myString 值为 nil")
    }
    

    可选绑定

    使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量

    import Cocoa
    
    var myString:String?
    
    myString = "Hello, Swift!"
    
    if let yourString = myString {
       print("你的字符串值为 - \(yourString)")  //如果myString中有值,则执行这个逻辑
    }else{
       print("你的字符串没有值")
    }
    

    输出结果:

    你的字符串值为 - Hello, Swift!
    

    相关文章

      网友评论

          本文标题:Swift 可选(Optionals)类型

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