Swift2 Can';在不使用值的情况下在枚举上不匹配
我已将我的项目更新为使用Swift 2。我遇到了一个相当愚蠢的开关情况。这里有一个简单的例子Swift2 Can';在不使用值的情况下在枚举上不匹配,swift2,Swift2,我已将我的项目更新为使用Swift 2。我遇到了一个相当愚蠢的开关情况。这里有一个简单的例子 enum X { case AsInt(Int) case AsBool(Bool) } g() -> X { // ... } f() -> Bool { let local = g(); switch local { case .AsInt(let x) return true; case .AsBool(let
enum X {
case AsInt(Int)
case AsBool(Bool)
}
g() -> X {
// ...
}
f() -> Bool {
let local = g();
switch local {
case .AsInt(let x)
return true;
case .AsBool(let bool)
return false;
}
}
Swift编译器抱怨(警告)未使用x
,事实上是这样。它告诉我替换为。
。好的,我用替换了它。然后Swift编译器抱怨(警告)let
绑定没有绑定任何变量。好吧,我把它拿走了。然后Swift编译器抛出一个错误,抱怨元组模式不匹配
如何在不使用该值或得到一堆毫无意义的警告/错误的情况下匹配枚举,而这些警告/错误的建议修复方法实际上无法修复任何问题?哦,您必须完全忽略括号,因为括号中没有任何内容?那是。。。完全不直观。
func f() -> Bool {
switch g() {
case .AsInt:
return true
case .AsBool:
return false
}
}