Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : enum, raw, value

В чём разница между raw value и associated value у enum?

Вопрос проверяет понимание возможностей enum в Swift и способов хранения данных в перечислениях.

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

Raw value — это фиксированное значение, связанное с каждым case enum. Associated value — это данные, которые передаются вместе с конкретным case при создании значения. Raw value одинаков для всех экземпляров одного case, а associated value может быть разным. Raw value используется для простого отображения или сериализации. Associated value позволяет хранить контекстные данные.

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

Enum в Swift — мощный инструмент, который может не только перечислять варианты, но и хранить данные. Для этого используются raw value и associated value.

Определение

Raw value — это заранее заданное значение, связанное с case enum.
Associated value — это набор значений, передаваемых вместе с конкретным case.

Raw value

Перед тем как перейти к примеру, важно понимать, что raw value задаётся на уровне типа.

  1. Имеет фиксированный тип

  2. Одинаков для всех экземпляров case

  3. Часто используется для кодов, идентификаторов, сериализации

enum Direction: Int {
    case left = 1
    case right = 2
}

Associated value

Associated value задаётся при создании значения enum.

  1. Может быть разного типа

  2. Отличается для каждого экземпляра

  3. Используется для передачи контекста

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

Ключевое различие

  • Raw value — статическое и заранее известное

  • Associated value — динамическое и передаётся при создании

Вывод

Raw value подходит для простых соответствий, associated value — для описания состояний с данными. Это разные механизмы для разных задач.

  • Аватар

    iOS Guru

    Roman Isakov

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • Swift

    Swift

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

#enum

#raw

#value

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

  • Аватар

    iOS Guru

    Roman Isakov

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