Class 是否引用字典中的嵌套枚举?
Swift似乎不允许从字典中引用嵌套枚举。我可以简单地将枚举移出类,这将解决问题,但我需要在另一个类下创建另一个枚举名称状态。所以它需要是一个嵌套的枚举Class 是否引用字典中的嵌套枚举?,class,swift,enums,nested,Class,Swift,Enums,Nested,Swift似乎不允许从字典中引用嵌套枚举。我可以简单地将枚举移出类,这将解决问题,但我需要在另一个类下创建另一个枚举名称状态。所以它需要是一个嵌套的枚举 class User { enum Status: String { case Alive = "alive" case Dead = "dead" } } var userStatuses = [User.Status: String]() 如果使用类型别名,则该选项有效: class U
class User {
enum Status: String {
case Alive = "alive"
case Dead = "dead"
}
}
var userStatuses = [User.Status: String]()
如果使用
类型别名
,则该选项有效:
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"
试试非速记版本
var statuses = Dictionary<User.Status, String>()
var statuses=Dictionary()
当使用速记版本时,它看起来像一个bug,但非速记版本似乎工作正常。Hmmm似乎是Swift中的bug是的,我也不觉得它很优雅。这是Swift中的一个bug,向appleI报告。我同意这是一个bug,特别是因为长手版本工作正常。