Back to questions
Junior — Middle
73
Можно ли расширить функциональность перечислений, добавляя в них методы?
Answer from AI
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 можно расширять перечисления методами для удобства и логической группировки связанного функционала.