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