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);