gpt4 book ai didi

swift - 在 Swift 中用逗号分隔多个 if 条件

转载 作者:行者123 更新时间:2023-11-28 07:32:05 25 4
gpt4 key购买 nike

我们已经知道multiple optional bindings can be used in a single if/guard statement by separating them with commas , 但不是 && 例如

// Works as expected
if let a = someOpt, b = someOtherOpt {
}
// Crashes
if let a = someOpt && b = someOtherOpt {
}

玩 Playground ,逗号格式似乎也适用于 bool 条件,尽管我在任何地方都找不到这个。例如

if 1 == 1, 2 == 2 {
}
// Seems to be the same as
if 1 == 1 && 2 == 2 {
}

这是评估多个 bool 条件的公认方法吗? 的行为是否与 && 的行为相同,或者它们在技术上是否不同?

最佳答案

其实结果不一样。假设您在 if 和 && 之间有 2 个语句。如果在第一个语句中您使用可选绑定(bind)创建了一个 let,您将无法在第二个语句中看到它。相反,您将使用逗号。

逗号示例:

if let cell = tableView.cellForRow(at: IndexPath(row: n, section: 0)), cell.isSelected {
//Everything ok
}

&& 示例:

if let cell = tableView.cellForRow(at: IndexPath(row: n, section: 0)) && cell.isSelected {
//ERROR: Use of unresolved identifier 'cell'
}

希望这对您有所帮助。

关于swift - 在 Swift 中用逗号分隔多个 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54416508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com