loops - 如何从响应中断的内部结构中中断外部循环(循环/开关)

标签 loops nested-loops swift

如何从响应 Swift 中的 break 语句的嵌套结构中中断外部循环?

例如:

while someCondition {
    if someOtherCondition {
        switch (someValue) {
            case 0:     // do something
            case 1:     // exit loop
            case 2...5: // do something else
            default:    break
        }
    } else {
        someCondition = false
    }
}

break 只会让我脱离 switch,并且在 Swift 中,必须使用它,因为不允许空情况。如何从 switch 内完全退出循环?

最佳答案

Swift 允许 labeled statements 。使用带标签的语句,您可以指定要中断的控制结构,无论您的循环嵌套有多深(尽管从可读性的角度来看,通常嵌套越少越好)。这也适用于继续

示例:

outerLoop: while someCondition {
    if someOtherCondition {
        switch (someValue) {
            case 0:     // do something
            case 1:     break outerLoop // exit loop
            case 2...5: // do something else
            default:    break
        }
    } else {
        someCondition = false
    }
}

关于loops - 如何从响应中断的内部结构中中断外部循环(循环/开关),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55898215/

相关文章:

javascript - Coffeescript 访问函数

for-loop - 以下嵌套循环依赖关系的时间复杂度是多少?

swift - 如何重新渲染 MKMapView 以根据新坐标更新覆盖

python - 使用嵌套循环计算项目

ios - ios swift 中的并发任务执行

swift - Firebase 使用用户 ID 检索 user.email

c++ - 试图让 array.length 在 for 循环中工作

java - 4.23 Java 中匹配数字之前的实验倒计时

wordpress - 循环 ACF 以显示所有可能的字段值?

c - 简化 C 中的嵌套 for 循环