NSDictionary<TKey, TValue>
は、NSDictionary
の単なる汎用バージョンです。つまり、キーはすべてタイプTKey
(ケースNSString
)で、値はすべてTValue
(ケースNSObject.
)です。これにより、型の安全性が向上します。整数をキーとして追加することはできません。基本となるiOSオブジェクトはまだNSDictionary
です。このクラスはC#での厳密な型定義に慣れており、これを可能な限り使用したいので、「統語的砂糖」のようなものです。
コンストラクタを使用して作成できます。それは複数のコンストラクタを持っています。例えば。 NSDictionary(TKey[] keys, TValue[] values)
は、キーと値をパラメータとして受け取り、NSDictionary
を作成します。
var keys = new[]
{
new NSString("key1"),
new NSString("key2"),
new NSString("key3"),
new NSString("key4")
};
var objects = new NSObject[]
{
// don't have to be strings... can be any NSObject.
new NSString("object1"),
new NSString("object1"),
new NSString("object1"),
new NSString("object1")
};
var dicionary = new NSDictionary<NSString, NSObject>(keys, objects);