【发布时间】:2015-02-24 20:50:24
【问题描述】:
我在 Swift 中定义了 Dictionary,其中 enum 为 key,struct 为 value。在运行时,我想为给定的枚举键向字典添加值,但是我收到以下错误:
'@lvalue $T9' 与 '(MyEnum, MyData)' 不同
enum MyEnum {
case A, B, C
}
struct MyData {
var x : Int
var y : Int
init(x:Int, y: Int) {
self.x = x
self.y = y
}
}
class Tester {
let myDictionary = [MyEnum : MyData]()
func dummy() {
self.myDictionary[MyEnum.A] = MyData(x: 1, y: 2) // <-- error in this line
}
}
知道如何正确地做到这一点吗?
【问题讨论】:
-
不是那个问题的副本,它是关于一个具有关联类型的枚举,因此不能自动散列
-
我检查了这个,它没有演示如何在运行时向字典中添加新条目
标签: swift dictionary enums key add