Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

Какие свойства enum может содержать?

Вопрос проверяет понимание того, какие виды свойств разрешены в enum и как с ними работать.

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

Enum может содержать вычисляемые свойства и статические свойства. Также данные могут храниться в associated value конкретных case. Хранимые свойства enum иметь не может. Вычисляемые свойства часто используются для получения информации о текущем состоянии enum. Это делает enum удобным и выразительным.

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

Хотя enum ограничен в хранении данных, он поддерживает несколько видов свойств, которые делают его мощным инструментом.

Определение

Вычисляемое свойство — это свойство, которое не хранит значение, а вычисляет его при обращении.

Допустимые виды свойств в enum

Перед перечислением важно отметить, что enum может содержать только то, что не нарушает его модель состояний.

  1. Вычисляемые свойства

    • Основаны на текущем case

    • Часто используют switch self

enum Status {
    case active
    case inactive

    var isActive: Bool {
        self == .active
    }
}
  1. Статические свойства

    • Принадлежат типу, а не экземпляру

    • Используются для констант и фабрик

static let defaultStatus = Status.inactive
  1. Associated value

    • Хранят данные внутри case

    • Могут иметь разные типы

case success(data: String)

Что недоступно

  • Хранимые свойства экземпляра

  • lazy свойства

  • deinit

Вывод

Enum может содержать вычисляемые и статические свойства, а также данные внутри case. Это позволяет писать выразительный и безопасный код, не нарушая модель value-типа.

  • Аватар

    iOS Guru

    Roman Isakov

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • Swift

    Swift

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

#enum

#computed

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

  • Аватар

    iOS Guru

    Roman Isakov

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