Sobes.tech
Junior — Middle

Da li je obavezno pokriti sve moguće vrednosti enum u switch naredbi u Swift-u?

sobes.tech АИ

Одговор од АИ

U Swift-u, ako koristite operator switch za vrednost tipa enum bez povezanih vrednosti, kompajler zahteva da pokrijete sve moguće slučajeve enum-a da bi switch bio iscrpan. To znači da morate ili navesti sve varijante enum-a ili dodati granu default.

Ako ne pokrijete sve varijante i ne dodate default, kod neće biti kompajliran.

Primer:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Idemo na sever")
    case .south:
        print("Idemo na jug")
    case .east:
        print("Idemo na istok")
    case .west:
        print("Idemo na zapad")
    }
}

Ako ne želite da nabrajate sve varijante, možete dodati default:

switch dir {
case .north:
    print("Idemo na sever")
default:
    print("Drugi pravac")
}