快速展开多个可选

标签 swift option-type unwrap

我认为这是可能的,但似乎无法让它发挥作用。我确定我只是在装傻。我试图以

的形式输出格式化地址
"one, two, three"

来自一组可选组件(一、二、三)。如果“二”为零,则输出为

“一、三”

let one: String?
let two: String?
let three: String?

one = "one"
two = nil
three = "three"

if let one = one,
        two = two,
        three = three {
     print("\(one),\(two),\(three)")
}

最佳答案

我不知道你为什么需要这个,但接受它 =)

if let _ = one ?? two ?? three {
    print("\(one),\(two),\(three)")
}

关于快速展开多个可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38014138/

相关文章:

java - 创建 Optionals 的多维泛型数组

swift - 函数抛出并返回可选的.. 可以有条件地在一行中解包吗?

rust - 有没有办法做unwrap_or_return一个错误(任何错误)

ios - HTTP Post 适用于 WIFI 但不适用于 Cell

objective-c - GTLRDriveService 的 Google Drive API IOS 权限

javascript - 当您从逻辑中知道类型正确时,如何处理 "fix"流类型?

java - 泛型类中可选的编译错误

swift3 - Swift 3 - 生成的 QR 代码 UIImage 要附加到电子邮件,但出现错误 "found nil while unwrapping an Optional value"

ios - 我的函数需要用户位置,但它返回 nil

ios - Swift:iAd UITableViewController 位置