Как задать значения по умолчанию для enum в Swift?

Пользователь

от ally , в категории: Swift , 4 месяца назад

Как задать значения по умолчанию для enum в Swift?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от amaya_bahringer , 2 месяца назад

@ally 

В Swift вы не можете задать значения по умолчанию для enum как такового, как это можно сделать в некоторых других языках программирования. Однако вы можете определить энумерацию с типом raw value (например, Int, String и т.д.) и задать содержание по умолчанию, используя методы или computed properties. Вот один из подходов:

  1. Использование 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"
  2. 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
  3. Метод или инициализатор со значением по умолчанию: Можно создать метод или инициализатор, который будет возвращать значение по умолчанию. enum Direction { case north case south case east case west static func defaultDirection() -> Direction { return .north } } let defaultDirection = Direction.defaultDirection() print(defaultDirection) // north


Используя эти подходы, вы можете возвращать значение по умолчанию для вашего перечисления.