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

标签 swift enums

我有以下枚举:

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 类型的代码。

关于swift - 有没有办法将枚举 rawValue 向下转换为它的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30010834/

相关文章:

ios - 使用mvvm模型的RxMoya请求总是在observer.onError(error)中崩溃

ios - 如何在 "pull to refresh"时随机化 uıcollecitonview 单元格,如 Instagram 探索页面

swift - 在快速点击按钮时显示上下文菜单

typescript - 从局部变量设置枚举对象的初始成员值时出错

asp.net - 如何找到对应值的枚举名称并在 DisplayFor 中使用它?

objective-c - 在 Swift 中循环遍历 Objective-C 枚举?

ios - 尝试获取用户位置时出错(快速)

ios - 我正在尝试从 Swift subreddit 解析 JSON。为什么我有问题?

python-3.x - Python 3 枚举元组相等总是失败

java - 带有美元符号和数字 .class 的 java 文件名是什么意思 (name$1.class)?