在字典中引用嵌套枚举?

Reference a nested enum in a dictionary?

Swift 似乎不允许从字典中引用嵌套枚举。我可以简单地将枚举移出 class,这将解决问题,但我需要在另一个 class 下创建另一个枚举名称 Status。所以它需要是一个嵌套的枚举

class User {

    enum Status: String {
        case Alive = "alive"
        case Dead = "dead"
    }
}

var userStatuses = [User.Status: String]()

如果你使用 typealias:

class User {
    enum Status: String {
        case Alive = "alive"
        case Dead = "dead"
    }
}

typealias Key = User.Status

var myDictionary = [Key: String]()
myDictionary[.Alive] = "something"

println(myDictionary[.Alive]!) // prints "something"

尝试非shorthand版本。

var statuses = Dictionary<User.Status, String>()

使用 shorthand 版本 [User.Status: String]() 时看起来像是一个错误,但非 shorthand 版本似乎工作正常。