Sobes.tech
Junior — Middle

Ist es erforderlich, alle möglichen Enum-Werte in einer Switch-Anweisung in Swift abzudecken?

sobes.tech KI

Antwort von AI

In Swift, wenn du den switch-Operator für einen Wert vom Enum-Typ ohne assoziierte Werte verwendest, verlangt der Compiler, dass alle möglichen Fälle des Enums abgedeckt werden, damit der switch vollständig ist. Das bedeutet, du musst entweder alle Enum-Optionen auflisten oder einen default-Case hinzufügen.

Wenn du nicht alle Optionen abdeckst und keinen default hinzufügst, wird der Code nicht kompiliert.

Beispiel:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Gehen nach Norden")
    case .south:
        print("Gehen nach Süden")
    case .east:
        print("Gehen nach Osten")
    case .west:
        print("Gehen nach Westen")
    }
}

Wenn du nicht alle Optionen auflisten möchtest, kannst du einen default hinzufügen:

switch dir {
case .north:
    print("Gehen nach Norden")
default:
    print("Andere Richtung")
}