我查看了Apple的所有文档,以及多个最终用户博客和类似内容...而不是switch
中包含多行代码的case
语句的单个示例,更别说另一个switch
了。我尝试了几种不同的语法,但没有去,它总是抱怨未使用的闭包。这可能吗?
答案 0 :(得分:10)
当然可能
enum Alphabet {
case Alpha, Beta, Gamma
}
enum Disney {
case Goofy, Donald, Mickey
}
let foo : Alphabet = .Beta
let bar : Disney = .Mickey
switch foo {
case .Alpha, .Gamma: break
case .Beta:
switch bar {
case .Goofy, .Donald: break
case .Mickey: print("Mickey")
}
}
答案 1 :(得分:1)
是的,嵌套的switch语句和案例中的多行都是可能的。
let firstNumber = 0
let secondNumber = 3
switch firstNumber {
case 0:
switch secondNumber {
case 0:
print("First and second numbers are 0")
default:
print("First number is 0, second number is not")
}
default:
print("First number is not 0")
}