这是一个人为问题,因为我想更详细地了解swift。 swift编译器抱怨以下内容并非详尽无遗。当然,在一般情况下,它无法确定案例陈述是否详尽无遗。我该怎么办? 告诉编译器我的列表是详尽无遗的,例如以下情况?
let point = (2, 2)
switch point {
case let (x, y) where x == y:
println("on the x=y line")
case let (x, y) where x != y:
println("somewhere else off x=y line")
}
是添加空默认值的唯一选项:个案吗?
答案 0 :(得分:1)
是添加空默认值的唯一选项:个案吗?
此时,是的。这是一个编译器错误,我们目前必须解决这个问题。如果我是你,我肯定会file a Radar详细说明你的发现。
答案 1 :(得分:0)
我正在学习Swift,并且我已经找到了以下解决方案的简短摘要:
let point = (2, 2)
switch point {
case let (x, y) where x == y:
print("on the x=y line")
case let (x, y): // Otherwise where x != y:
print("somewhere else off x=y line")
}
我知道,它不是编译器进行穷举检查的解决方案,但它是一种避免无用default
子句的方法。