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" } } }
Инициализаторы для перечислений
Можно создать инициал. для перечисл.
Методы перечислений
По аналогии с функциями