Sobes.tech
Junior — Middle

È obbligatorio coprire tutti i possibili valori di enum in un'istruzione switch in Swift?

sobes.tech AI

Risposta dell'AI

In Swift, se utilizzi l'operatore switch per un valore di tipo enum senza valori associati, il compilatore richiede di coprire tutti i casi possibili dell'enum affinché lo switch sia esaustivo. Ciò significa che devi elencare tutte le opzioni dell'enum o aggiungere un ramo default.

Se non copri tutte le opzioni e non aggiungi un default, il codice non verrà compilato.

Esempio:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Andiamo a nord")
    case .south:
        print("Andiamo a sud")
    case .east:
        print("Andiamo a est")
    case .west:
        print("Andiamo a ovest")
    }
}

Se non vuoi elencare tutte le opzioni, puoi aggiungere un default:

switch dir {
case .north:
    print("Andiamo a nord")
default:
    print("Altra direzione")
}