一尘不染

Swift if语句-多个条件之间用逗号分隔?

swift

看一个Swift
示例

if let sourceViewController = sender.sourceViewController as? MealViewController, meal = sourceViewController.meal {
    ...
}

该文档指出:

…代码将该视图控制器分配给本地常量sourceViewController,并检查sourceViewController上的餐属性是否为nil。

问题:用逗号分隔时,Swift是否在if语句中让您有多个条件(例如,在此示例中,后面有逗号MealViewController)?

还没有在文档中看到这一点。


阅读 1047

收藏
2020-07-07

共1个答案

一尘不染

是的,当你写

if let a = optA, let b = optB, let c = optC {

}

IF只有 正确完成所有分配, Swift才会执行的主体。

更多

该技术的另一个特点:分配是按 顺序 完成的。

因此,只有在正确分配值后a,Swift才会尝试将值分配给b。等等。

这样您可以像这样使用先前定义的变量/常量

if let a = optA, let b = a.optB {

}

在这种情况下(第二次分配),我们可以安全使用,a因为 我们知道 如果执行了该代码,则该代码将a被填充有效值。

2020-07-07