我在Swift中定義了Dictionary,其中枚舉作爲鍵和結構作爲值。在運行時,我希望值添加到字典中對於給定的枚舉密鑰,但是我得到以下錯誤:使用枚舉鍵爲Swift字典添加值
「@lvalue $ T9」不等同於「(MyEnum,邁德特)」
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
}
}
任何想法如何正確地做到這一點?
可能重複:http://stackoverflow.com/questions/24562357/how-can-i-use-a-swift-enum-as-a-dictionary-key-conforming-to-equatable –
不是重複的該問題是關於與關聯類型的枚舉,因此不能自動排除 –
我檢查了這一個,它沒有演示如何在運行時向字典添加新條目 – Tamir