似乎Swift不允许从字典中引用嵌套枚举。我可以简单地将枚举移出类,这将解决问题,但我需要在另一个类下创建另一个枚举名称Status。所以它需要是一个嵌套的枚举
class User {
enum Status: String {
case Alive = "alive"
case Dead = "dead"
}
}
var userStatuses = [User.Status: String]()
答案 0 :(得分:1)
如果您使用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"
答案 1 :(得分:1)
尝试使用非速记版本。
var statuses = Dictionary<User.Status, String>()
使用速记版本[User.Status: String]()
时看起来像是一个错误,但非简写版似乎可以正常工作。