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