Простота перечисления в Swift - PullRequest
0 голосов
/ 20 июня 2020

У меня есть следующее перечисление, и оно работает. Однако есть ли способ, которым я могу просто изменить Int и сделать его String, а затем напрямую назначить?

Разве это не следующее за многословием? Companies(rawValue: httpMethod.self.rawValue)! по сравнению с Companies.stringValue

Как я могу вызвать следующее, чтобы получить значение String?

public enum Companies: String {
  case oil = "OIL"
  case tech = "TECH"
  case government = "GOVERNMENT"
  case restaurant = "RESTAURANT"
}

Работает следующее!

public enum Companies: Int {
  case oil
  case tech
  case government
  case restaurant

  var stringValue: String {
    switch self {
    case .oil:
      return "OIL"
    case .tech:
      return "TECH"
    case .government:
      return "GOVERNMENT"
    case .restaurant:
      return "RESTAURANT"
    }
  }
}

Я мог бы просто позвонить Companies.stringValue

Ответы [ 2 ]

2 голосов
/ 20 июня 2020

попробуйте это:

public enum Companies: String {
 case oil
 case tech
 case government
 case restaurant
 }
 let c = Companies.oil
 print(c.rawValue)
1 голос
/ 20 июня 2020

Добавьте вычисляемое свойство в ваше перечисление

public enum Companies: Int {
    case oil
    case tech
    case government
    case restaurant

    var string: String {
        "\(self)".uppercased()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...