Sobes.tech
Junior — Middle

Is het verplicht om alle mogelijke enum-waarden te dekken in een switch-instructie in Swift?

sobes.tech AI

Antwoord van AI

In Swift, als je de switch-operator gebruikt voor een waarde van het enum-type zonder associated values, vereist de compiler dat je alle mogelijke gevallen van de enum behandelt zodat de switch exhaustief is. Dit betekent dat je alle opties van de enum moet opsommen of een default-branch moet toevoegen.

Als je niet alle opties behandelt en geen default toevoegt, wordt de code niet gecompileerd.

Voorbeeld:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("We gaan naar het noorden")
    case .south:
        print("We gaan naar het zuiden")
    case .east:
        print("We gaan naar het oosten")
    case .west:
        print("We gaan naar het westen")
    }
}

Als je niet alle opties wilt opsommen, kun je een default toevoegen:

switch dir {
case .north:
    print("We gaan naar het noorden")
default:
    print("Andere richting")
}