我收到编译错误,因为编译器认为我的元组中的“key”与泛型数组的类型不同。知道为什么吗?
class MyClass <K: Hashable, V> {
let keys = [K]()
subscript(index: Int) -> (key: K, value: V) {
set(newValue) {
// also tried newValue.key!
keys[index] = newValue.key
}
}
}
答案 0 :(得分:5)
当您声明为不可变数组时,您正尝试设置数组keys
的值。 keys
数组应声明为:
var keys = [K]() // var declaration makes it mutable