我正在尝试获取枚举的默认值,以便可以将其用作参数。这段代码不起作用,但我想得到如下信息:

print("Param: \(Params.RCLoss.description)")

输出应该是:
Param: RC_LOSS_MAN

代码如下:
enum Params {
  enum RCLoss: Int32, CustomStringConvertible {
    case disable = 0
    case enable = 1

    var description: String {
        return "RC_LOSS_MAN"
    }
  }
}

我想通过这个:
set(parameterType: Params.RCLoss.description, parameterValue: Params.RCLoss.enable)

它们应与正在设置的这些值相对应:
set(parameterType: "RC_LOSS_MAN", parameterValue: 0)

最佳答案

你好像只想

enum rcLoss: Int32 {
  case disable = 0
  case enable = 1

  static var description: String {
    return "RC_LOSS_MAN"
  }
}

rcLoss是一种类型,description必须是static才能调用rcLoss.description。这意味着你不能使用CustomStringConvertible。您可以使用CustomStringConvertible将枚举值转换为String

10-08 14:22