Swift正确破解多层开关

标签 swift

我正在将代码从 java 重写为 swift,并且需要以正确的方式打破多层开关。在 Java 中它看起来像:

 block0 : switch (topSwithch) {
    case one: {
        switch (innerSwitch) {
        case insideCase: {
             if (something){
                break block0;
            }
// etc

因此,我要断开一个开关与另一个开关的连接。我如何在 swift 中做到这一点?

最佳答案

这就是它在 Swift 中的样子。我在 Playground 上用变量的硬编码值做了这个:

let topSwitch = 1
let innerSwitch = 4
let one = 1
let insideCase = 4
let something = true

block0 : switch (topSwitch) { //first switch labeled "block0", switching on topSwitch
    case one: //topSwitch is 1, one is 1
        switch (innerSwitch) { // switching on innerSwitch
            case insideCase: // both are 1
                if (something){ // if true
                    break block0; // break from "block0"
                }
            default: break // else
        }
    default: break // else
}

关于Swift正确破解多层开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39374442/

相关文章:

ios - ReactiveCocoa 4 - 延迟和过滤信号事件

ios - SwiftUI 与 rotation3DEffect 动画冲突

ios - 如何在 swift 中将字节转换为浮点值?

ios - 为什么在命名 Swift 枚举大小写时出现 'is not a valid digit in integer literal' 错误?

ios - 滚动时 UITableViewCell contenview 上的阴影率增加

ios - 初始化时 Swift 额外参数

ios - 选择时如何重新加载标签栏项目?

ios - 解析/swift : PFQueryTableViewController createdAt object not working

ios - 如何使用 swift 在 UICollectionView 单元格中加载自定义单元格(xib)

swift - 创建 VPN 连接