Sobes.tech
Junior — Middle

Czy konieczne jest pokrycie wszystkich możliwych wartości enum w instrukcji switch w Swift?

sobes.tech AI

Odpowiedź od AI

W Swift, jeśli używasz operatora switch dla wartości typu enum bez wartości powiązanych, kompilator wymaga pokrycia wszystkich możliwych przypadków enum, aby switch był wyczerpujący. Oznacza to, że musisz wymienić wszystkie opcje enum lub dodać gałąź default.

Jeśli nie pokryjesz wszystkich opcji i nie dodasz default, kod nie zostanie skompilowany.

Przykład:

enum Direction {
    case north, south, east, west
}

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Idziemy na północ")
    case .south:
        print("Idziemy na południe")
    case .east:
        print("Idziemy na wschód")
    case .west:
        print("Idziemy na zachód")
    }
}

Jeśli nie chcesz wymieniać wszystkich opcji, możesz dodać default:

switch dir {
case .north:
    print("Idziemy na północ")
default:
    print("Inny kierunek")
}