看看Swift example:

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

该文件指出:

... 该代码将该视图控制器分配给本地控制器

问题:当用逗号分隔时,Swift是否允许在if语句中包含多个条件(如本例中,逗号在MealViewController之后)?

我还没在文件里看到过.

推荐答案

是的,当你写作的时候

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

}

Swift只在all the assignments are properly completed的情况下执行IF的主体.

更多

这种技巧的另一个特点是:作业(job)order分钟完成.

因此,只有当一个值被正确地分配给a时,Swift 才会try 将一个值分配给b.等等

这允许您像这样使用之前定义的变量/常量

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

}

在本例中(在第二次赋值中),我们安全地使用a,因为如果执行了该代码,则a已填充有效值.

Swift相关问答推荐

我在SwiftUI中的动画无法正常工作

如何在每天午夜重置布尔值

在MacOS上检测键盘是否有Globe键

查找数组中 ** 元素 ** 的属性的最小值和最大值

使 tabview 垂直将视图移动到右侧 swift ui

Swift计时器未触发

在 RealityKit 中查找特定模型的 findEntity(named:) 方法的替代方法?

允许为 self 分配新的 struct 值的理由是什么?

防止带有背景的文本扩展到 maxWidth

如何判断一个值是否为 Int 类型

iOS16 Bug 键盘在表单解雇 SwiftUI 时打破布局

SwiftUI - Select 器没有 Select 值

Swift 有没有办法在不使用 switch 语句的情况下获取关联值?

swiftui更改显示的 Select 器值

如何删除标签和步进按钮之间的间距是 SwiftUI Stepper?

在 Swift 中从 HTML 生成带有图像的 PDF 而不显示打印界面

是否可以在 Swift 中创建通用闭包?

两个 Date 对象之间的所有日期 (Swift)

如何停止 NSTimer.scheduledTimerWithTimeInterval

快速延迟加载属性