swift – 有没有办法将枚举rawValue向下转换为它的类型?

我有以下枚举:

enum Difficulty: Int {
    case Opt1 = 1, Opt2 = 2, Opt3 = 3    
}

当我尝试将它用作Int那样:MyClass.Difficulty.Opt1.rawValue它不允许我,因为它返回一个RawValue.
理解这是一个Int不应该是明智的吗?

最佳答案 鉴于你的代码,我假设你有一个嵌套在类中的枚举,如下所示:

class MyClass {
    enum Difficulty: Int {
        case Opt1 = 1, Opt2 = 2, Opt3 = 3
    }
}

var myInteger = MyClass.Difficulty.Opt2.rawValue // Int inferred correctly

我发现这个或任何我能想到的变种都没有任何问题.如果您仍然遇到问题,请发布MyClass类型的代码.

点赞