enum - это такой общий тип данных, для группы ассоциативных значений.
enum DayTime {
case night
case day
}
Ассоциированные значения
enum Proffesion {
case programmer(String,String, Int)
case sysadmin(String)
}
let myProffesion = Proffesion.programmer("Vanya","June",5)
Чистые значения
Могут быть только простого типа
enum MyPetName: String {
case cat = "Vasya"
case dog = "Petya"
}
var myCat = MyPetName.cat
var myCatName = myCat.rawValue- // Доступ к чистому значению
Протокол CAseIterable
Позволяет исплользовать .allCases - по сути можно сделать массив из перечиления
// Свойства
enum Season {
case winter = 1, spring = 2, summer = 3, autumn = 4
//case winter = 1, spring, summer,autumn // аналогично строке віше
var label: String {
switch self {
case .winter:
return "Zima"
}
}
}
Инициализаторы для перечислений
Можно создать инициал. для перечисл.
Методы перечислений
По аналогии с функциями