Sobes.tech
Junior — Middle

É obrigatório cobrir todos os valores possíveis de enum na instrução switch em Swift?

sobes.tech IA

Resposta da IA

Em Swift, se estiver a usar o operador switch para um valor do tipo enum sem valores associados, o compilador exige cobrir todos os casos possíveis do enum para que o switch seja exaustivo. Isto significa que deve enumerar todas as opções do enum ou adicionar um ramo default.

Se não cobrir todas as opções e não adicionar um default, o código não será compilado.

Exemplo:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Vamos para o norte")
    case .south:
        print("Vamos para o sul")
    case .east:
        print("Vamos para o leste")
    case .west:
        print("Vamos para o oeste")
    }
}

Se não quiser enumerar todas as opções, pode adicionar um default:

switch dir {
case .north:
    print("Vamos para o norte")
default:
    print("Outra direção")
}