我想使用Dictionary作为自定义类的成员引用,但我有一些问题需要了解如何使用泛型来定义它。
我有以下Swift代码:
public class MyDictionary<K,V> {
private var dict : Dictionary<K,V>
public init() {
dict = Dictionary<K,V>()
}
}
稍后在我的应用中,我想创建几种类型的词典:
dict1 = MyDictionary<Int,String>()
dict2 = MyDictionary<String,MyCustomClass>()
...
我的推理错误在哪里?
答案 0 :(得分:0)
只有Hashable类型可以存储为Swift Dictionary的键:
class MyDictionary<Key : Hashable, ValueType> {
private var dict : Dictionary<Key,ValueType>
internal init() {
dict = Dictionary<Key,ValueType>()
}
}
var dict1 = MyDictionary<Int,String>()
var dict2 = MyDictionary<String,String>()