Как исправить проблему с регистром переключения Swift - PullRequest
0 голосов
/ 09 января 2019

Допустим, у нас есть это перечисление и некоторая функция, которая переключает само перечисление.

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")"

Есть Гист

Почему это происходит?

...