@ally
В Swift вы не можете задать значения по умолчанию для enum
как такового, как это можно сделать в некоторых других языках программирования. Однако вы можете определить энумерацию с типом raw value (например, Int
, String
и т.д.) и задать содержание по умолчанию, используя методы или computed properties. Вот один из подходов:
- Использование raw values:
Вы можете присвоить каждому случаю в перечислении raw value и использовать первый случай в качестве значения по умолчанию.
enum Direction: String {
case north = "North"
case south = "South"
case east = "East"
case west = "West"
static let defaultDirection = Direction.north
}
let defaultDirection = Direction.defaultDirection
print(defaultDirection.rawValue) // "North"
- Computed Property для значения по умолчанию:
Вы можете добавить computed property, который будет возвращать значение по умолчанию.
enum Direction {
case north
case south
case east
case west
static var defaultDirection: Direction {
return .north
}
}
let defaultDirection = Direction.defaultDirection
print(defaultDirection) // north
- Метод или инициализатор со значением по умолчанию:
Можно создать метод или инициализатор, который будет возвращать значение по умолчанию.
enum Direction {
case north
case south
case east
case west
static func defaultDirection() -> Direction {
return .north
}
}
let defaultDirection = Direction.defaultDirection()
print(defaultDirection) // north
Используя эти подходы, вы можете возвращать значение по умолчанию для вашего перечисления.