美文网首页
swift 中 可选类型解包的3种写法

swift 中 可选类型解包的3种写法

作者: coderLYH | 来源:发表于2019-11-04 14:24 被阅读0次

    swift 中 可选类型解包的3种写法

    代码如下

     var name : String?
    
     var age: Int?
    

    方法1: if判断后,强制解包

        if name != nil , age != nil {
            print( "方法1 " + name! + "今年\(age!)了")
        }
    

    方法2: if let 判断 不需要解包

        if let name = name, let age = age {
            print("方法2 " + name + "今年\(age)了")
        }else{
          print("方法2 " + "\(name ?? "name没有传值")" + "age = \( age ?? 0)")
        }
    

    方法3: guard let else 不需要解包

        guard  let name = name ,let age = age  else{
            print("方法3没有值")
            return
        }
        print("方法3 \(name) 今年\(age)了")
    }
    

    总结:

    1. 方法1,不推荐.
    2. 方法2,较少使用 name和age 只能用在{} 中,且之后的逻辑操作也要写在{}中
    3. 方法3,推荐的做法 name和age用在{}之外,减少了层次结构,else之后需 要写return或则continue

    相关文章

      网友评论

          本文标题:swift 中 可选类型解包的3种写法

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