Sobes.tech
Назад к вопросам
Junior — Middle
74

Можно ли расширить функциональность перечислений, добавляя в них методы?

Ответ от нейросети

sobes.tech AI

В Swift перечисления (enum) могут содержать не только набор значений, но и методы, свойства и даже инициализаторы. Это позволяет расширять функциональность перечислений, добавляя в них методы для обработки значений или выполнения логики, связанной с конкретными кейсами.

Пример:

enum Direction {
    case north, south, east, west

    func description() -> String {
        switch self {
        case .north: return "Север"
        case .south: return "Юг"
        case .east:  return "Восток"
        case .west:  return "Запад"
        }
    }
}

let dir = Direction.north
print(dir.description()) // Выведет: Север

Таким образом, да, в Swift можно расширять перечисления методами для удобства и логической группировки связанного функционала.