Допустим, у нас есть это перечисление и некоторая функция, которая переключает само перечисление.
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")"
Есть Гист
Почему это происходит?