我已经更新了我的项目以使用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 bool)
return false;
}
}
Swift编译器抱怨(警告)x
未被使用,它就是这样。它告诉我用_
替换。很好,我用_
替换了它。然后Swift编译器抱怨(警告)let
绑定不绑定任何变量。很好,我删除了它。然后Swift编译器抛出一个错误,抱怨元组模式不匹配。
如何在不使用值的情况下匹配枚举,或者获得一堆无意义的警告/错误,其推荐的修复程序实际上没有修复任何内容?
答案 0 :(得分:1)
func f() -> Bool {
switch g() {
case .AsInt:
return true
case .AsBool:
return false
}
}