Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : enumeration, enum, raw value, associated value, pattern matching

Что такое перечисления (enumerations) в Swift?

Этот вопрос проверяет понимание концепции перечислений в Swift и их использования для создания безопасного и читаемого кода.

Короткий ответ

Перечисления (enums) в Swift позволяют группировать связанные значения под одним типом. Они помогают писать типобезопасный код, исключая ошибки, возникающие при использовании строковых или числовых литералов. Вместо магических строк можно использовать предопределённые значения, что делает код более понятным и надёжным.

Длинный ответ

Перечисления (enums) в Swift — это способ организовать набор связанных значений, которые имеют явное имя и ограниченный набор возможных случаев. Они позволяют избежать ошибок, связанных с использованием строковых литералов или чисел, и улучшают читаемость и поддержку кода.

Объявление перечисления:
Вы можете объявить перечисление с помощью ключевого слова enum, перечислив возможные значения:

enum Direction {
    	case north
    	case east
    	case south
    	case west
}

Использование перечислений:
Теперь можно использовать Direction вместо строки:

let currentDirection: Direction = .north

Методы и свойства:
Перечисления могут содержать методы и вычисляемые свойства:

enum Direction {
    	case north, east, south, west

    	func description() -> String {
        	switch self {
        	case .north: return "North"
        	case .east: return "East"
        	case .south: return "South"
        	case .west: return "West"
        	}
    	}
}

let direction = Direction.east
print(direction.description()) // "East"

Связанные значения (associated values):
Перечисления могут хранить значения, связанные с конкретным случаем:

enum NetworkResult {
    	case success(data: String)
    	case failure(error: String)
}

let result = NetworkResult.success(data: "Data loaded successfully")

Raw values (неизменяемые значения):
Каждое значение перечисления может иметь "сырой" тип:

enum Planet: Int {
    	case mercury = 1, venus, earth, mars
}

print(Planet.earth.rawValue) // 3

Перечисления в Swift помогают создавать более читаемый и защищённый код, особенно если работа связана с фиксированными наборами значений, например, направлениями, состояниями или результатами операций.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    4

Навыки

  • Swift

    Swift

Ключевые слова

#enumeration

#enum

#raw value

#associated value

#pattern matching

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.