2016-09-28 3 views
0

辞書をカスタムクラスのメンバー参照として使用したいが、ジェネリックで定義する方法を理解する上でいくつかの問題がある。
私は、次のスウィフトコードを持っている:汎用カスタムクラスで辞書を使用する方法

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

のみハッシュ可能タイプはスイフト辞書のキーとして格納することができる。

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>() 
関連する問題