Junior — Middle
Este obligatoriu să acoperi toate valorile posibile ale unui enum într-o instrucțiune switch în Swift?
sobes.tech AI
Răspuns de la AI
În Swift, dacă utilizați operatorul switch pentru o valoare de tip enum fără valori asociate, compilatorul necesită acoperirea tuturor cazurilor posibile ale enum-ului pentru ca switch-ul să fie exhaustiv. Aceasta înseamnă că trebuie să enumerați toate variantele enum-ului sau să adăugați o ramură default.
Dacă nu acoperiți toate variantele și nu adăugați un default, codul nu va fi compilat.
Exemplu:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Mergem spre nord")
case .south:
print("Mergem spre sud")
case .east:
print("Mergem spre est")
case .west:
print("Mergem spre vest")
}
}
Dacă nu doriți să enumerați toate variantele, puteți adăuga un default:
switch dir {
case .north:
print("Mergem spre nord")
default:
print("Altă direcție")
}