ENUM¶
Cosa imparerò:
- Enumeratori
- Protocolli
Un enum è un tipo di dato che rappresenta un gruppo di valori correlati, garantendo type-safety nel codice.
// Definizione di un'enumerazione chiamata DayOfWeek
enum DayOfWeek {
case monday, tuesday, wednesday, thursday, friday, saturday, sunday
}
// Utilizzo dell'enumerazione DayOfWeek
var today = DayOfWeek.saturday
switch today {
case .monday, .tuesday, .wednesday, .thursday, .friday:
print("Weekday")
case .saturday, .sunday:
print("Weekend")
}
Output
Weekend
Gli enum possono adottare i protocolli, per esempio adottando CustomStringConvertible, si può definire una rappresentazione testuale personalizzata per ciascun caso dell’enum.
enum Color: String, CustomStringConvertible {
case red
case green
case blue
case yellow
case orange
case purple
var description: String {
return self.rawValue.capitalized
}
}
// Utilizzo dell'enumerazione Color
let myColor = Color.red
print("Selected color: \(myColor)")
Output
Selected color: Red
Gli enum in Swift non servono solo a elencare casi, ma sono veri tipi con metodi, proprietà e, più avanti, anche valori associati.