【发布时间】:2015-01-27 12:56:21
【问题描述】:
我一直在使用 swift 中的选项。我经常使用条件展开模式:
var myOptional: AnyObject?
if let unwrapped = myOptional {
// do stuff
}
但是,有时我有两个可选值,我只想在它们都不是 nil 时使用它们。因此,我尝试使用以下语法:
var myOptional: AnyObject?
var myOtherOptional: AnyObject?
if let unwrapped = myOptional && let otherUnwrapped = myOtherOptional? {
// do stuff
}
我尝试将这两个部分放在括号等中,但似乎没有办法做到这一点。我不能这样做有充分的理由吗?显然,我可以将一个语句嵌入到另一个语句中,但我更愿意将它们全部放在一行中。
【问题讨论】:
-
可能没有理由不支持 :)
-
我很确定这里已经有人问过了。只需嵌套展开。 Swift 有一些不错的概念,但它缺乏现实世界的实践。所以我选择@BaSha
-
这里有一个很好的讨论:http://stackoverflow.com/questions/24548999/unwrapping-multiple-optionals-in-if-statement。看看
unwrap辅助函数。 -
啊太棒了 :) 使用双关键字
if let真是个糟糕的错误 :-(
标签: swift if-statement optional