Sobes.tech
Junior — Middle

¿Es obligatorio cubrir todos los posibles valores de enum en una declaración switch en Swift?

sobes.tech AI

Respuesta de la IA

En Swift, si utilizas el operador switch para un valor de tipo enum sin valores asociados, el compilador requiere cubrir todos los posibles casos del enum para que el switch sea exhaustivo. Esto significa que debes enumerar todas las opciones del enum o agregar una rama default.

Si no cubres todas las opciones y no añades un default, el código no compilará.

Ejemplo:

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

func move(_ dir: Direction) {
    switch dir {
    case .north:
        print("Vamos al norte")
    case .south:
        print("Vamos al sur")
    case .east:
        print("Vamos al este")
    case .west:
        print("Vamos al oeste")
    }
}

Si no quieres enumerar todas las opciones, puedes agregar un default:

switch dir {
case .north:
    print("Vamos al norte")
default:
    print("Otra dirección")
}