nhg*_*rif 71 loops nested-loops swift
如何从一个响应breakSwift中的语句的嵌套结构中打破外部循环?
例如:
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,而在斯威夫特,它具有为空的情况下不得使用.我怎样才能从内部完全退出循环switch?
nhg*_*rif 156
Swift允许标记语句.使用带标签的语句,break无论嵌套循环的深度如何,都可以指定要从哪个控制结构中获取(尽管从可读性的角度来看,通常情况下嵌套较少).这也适用于continue.
例:
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
    }
}
小智 6
将循环标记为outerLoop,并在需要时使用中断标签:即在我们的例子中中断outerLoop。
outerLoop: for indexValue in 0..<arr.count-1 {
            if arr[indexValue] > arr[indexValue+1] {
                break outerLoop
            } 
        } 
| 归档时间: | 
 | 
| 查看次数: | 17530 次 | 
| 最近记录: |