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

2019-11-04  本文已影响0人  coderLYH

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
上一篇下一篇

猜你喜欢

热点阅读