当前位置: 首页 > 面试题库 >

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

尉迟明辉
2023-03-14
问题内容

我们已经知道可以在多个if /guard语句中使用多个可选绑定,方法是用逗号分隔,但不能使用&&例如

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

在操场上玩耍时,逗号式格式似乎也适用于布尔条件,尽管我在任何地方都找不到。例如

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

这是用于评估多个布尔条件的公认方法吗,,其行为是否与boolean条件相同&&或在技术上有所不同?


问题答案:

实际上结果是不一样的。假设您在if和&&之间有2条陈述。如果在第一个语句中使用可选绑定创建一个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 示例: 该文档指出: …代码将该视图控制器分配给本地常量sourceViewController,并检查sourceViewController上的餐属性是否为nil。 问题:用逗号分隔时,Swift是否在if语句中让您有多个条件(例如,在此示例中,后面有逗号)? 还没有在文档中看到这一点。 问题答案: 是的,当你写 只有 正确完成所有分配, Swift才会执行的主体

  • 问题内容: 我正在编写导出功能,我需要将联系人导出到Excel,并且遇到了技术难题-也许我的SQL技能的差距更接近事实了。;) 这是场景:我在数据库中有一堆联系人。每个联系人可以具有许多不同的角色,例如,一个联系人可以是C#开发人员和DBA,也可以是DBA和IT经理。它们分为三个表,如下所示: 不太难遵循。有一组联系人和一组角色。这些由相应ID上的ContactRole表连接。 导出联系人时,我需

  • 问题内容: 我的程序从文件中读取一行。此行包含逗号分隔的文本,例如: 我希望拆分的结果是这样的: 如果使用,我将得到: 换句话说:子字符串中的逗号不是分隔符。该如何处理? 问题答案: 你可以尝试以下正则表达式: 这将分割字符串,,后跟偶数双引号。换句话说,它用双引号引起来的逗号分隔。如果你在字符串中使用了引号,则此方法将起作用。 说明: 你甚至可以在代码中使用正则表达式使用修饰符来键入此类内容。修

  • 问题内容: 我的数据库中有列,其中的值如下所示: 在虚拟列中没有任何编号。逗号分隔的值可以出现。我尝试了以下查询,但它正在创建重复的结果。 我不明白这个问题。谁能帮忙? 问题答案: 非常适合我- 还有许多其他方法可以实现它。阅读将单个逗号分隔的字符串拆分成行。 *关于使用列而不是单个字符串值时的重复项的 *更新 。只见PRIOR子句中使用DBMS_RANDOM的摆脱循环回路的在这里 尝试以下方法

  • 问题内容: 我正在 使用JSF Framework 设计电子邮件客户端系统。UI应该能够在同一个inputText字段中使用多个收件人地址,每个收件人地址之间用逗号(,)分隔。我怎样才能做到这一点? 问题答案: 根据评论: 可以将inputText字段的value属性分配给数组吗? 您可以为此实现一个。 如下使用它: 与

  • 问题内容: 我有看起来像这样的数据: 对于每个customer_id,我需要用逗号分隔的列表,以指示该客户运营的月份: 等等。如何使用SQL Server 2005 SQL(而不是T-SQL)轻松生成此逗号分隔的列表? 我在Stack Overflow和其他地方在这里看到的大多数解决方案似乎都是基于联接多个行值而不是列值来创建逗号分隔的列表: T-SQL FOR XML路径(’‘) 关联的子查询与