Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
perechislenija [2023/09/18 12:52] oresh.dm |
perechislenija [2023/09/18 13:13] (текущий) oresh.dm |
||
|---|---|---|---|
| Строка 6: | Строка 6: | ||
| } | } | ||
| | | ||
| - | // Ассоциированные значения | + | // Ассоциированные значения |
| - | | + | enum Proffesion { |
| - | case programmer(String, | + | |
| - | case sysadmin(String) | + | |
| + | } | ||
| + | let myProffesion = Proffesion.programmer(" | ||
| + | |||
| + | |||
| + | // Чистые значения // | ||
| + | Могут быть только простого типа | ||
| + | |||
| + | enum MyPetName: String { | ||
| + | case cat = " | ||
| + | case dog = " | ||
| } | } | ||
| | | ||
| - | | + | |
| + | var myCatName = myCat.rawValue- // Доступ к чистому значению | ||
| | | ||
| + | | ||
| + | // Протокол CAseIterable // | ||
| + | |||
| + | Позволяет исплользовать .allCases - по сути можно сделать массив из перечиления | ||
| + | |||
| + | // Свойства | ||
| + | |||
| + | enum Season { | ||
| + | case winter = 1, spring = 2, summer = 3, autumn = 4 | ||
| + | //case winter = 1, spring, summer, | ||
| + | | ||
| + | var label: String { | ||
| + | switch self { | ||
| + | case .winter: | ||
| + | return " | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | | ||
| + | // Инициализаторы для перечислений // | ||
| + | |||
| + | Можно создать инициал. для перечисл. | ||
| + | |||
| + | // | ||
| + | По аналогии с функциями | ||