假设我们有这个枚举和一些切换枚举本身的函数。
import UIKit
enum DumbTest {
case get(user: String)
case get(pony: String, tail: String)
func getSome() -> String {
switch self {
case .get(let user):
return "User muchacha \(user)"
case .get(let pony, let tail):
return "Fluttershy \(pony) with \(tail) tail"
}
}
}
DumbTest.get(pony: "cute pony", tail: "pink").getSome()
但是,看来swift无法理解它的大小写不同,它显示了这样的警告:
1. Case is already handled by previous patterns; consider removing it
2. Case will never be executed
为此字符串
case .get(let pony, let tail):
的结果
DumbTest.get(小马:“可爱的小马”,尾巴:“粉红色”).getSome() 是
"User muchacha (pony: "cute pony", tail: "pink")"
有gist
为什么会发生?