Sobes.tech
Junior — Middle

Задължително ли е да покривате всички възможни стойности на enum в оператор switch в Swift?

sobes.tech AI

Отговор от AI

В Swift, ако използвате оператор switch за стойност от тип enum без асоциирани стойности, компилаторът изисква да покриете всички възможни случаи на enum, за да бъде switch-ът изчерпателен. Това означава, че трябва или да изброите всички варианти на enum, или да добавите клон default.

Ако не покриете всички варианти и не добавите default, кодът няма да се компилира.

Пример:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Отиваме на север")
    case .south:
        print("Отиваме на юг")
    case .east:
        print("Отиваме на изток")
    case .west:
        print("Отиваме на запад")
    }
}

Ако не искате да изброявате всички варианти, можете да добавите default:

switch dir {
case .north:
    print("Отиваме на север")
default:
    print("Друга посока")
}