NSDictionary 类

定义

提供从键到值的映射的字典。

[Foundation.Register("NSDictionary", true)]
public class NSDictionary : Foundation.NSObject, CoreData.INSFetchRequestResult, Foundation.INSMutableCopying, Foundation.INSSecureCoding, IDisposable, System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<Foundation.NSObject,Foundation.NSObject>>, System.Collections.Generic.IDictionary<Foundation.NSObject,Foundation.NSObject>, System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<Foundation.NSObject,Foundation.NSObject>>, System.Collections.IDictionary
type NSDictionary = class
    inherit NSObject
    interface INSCoding
    interface INativeObject
    interface IDisposable
    interface INSCopying
    interface INSMutableCopying
    interface INSSecureCoding
    interface INSFetchRequestResult
    interface IDictionary
    interface ICollection
    interface IEnumerable
    interface IDictionary<NSObject, NSObject>
    interface ICollection<KeyValuePair<NSObject, NSObject>>
    interface seq<KeyValuePair<NSObject, NSObject>>
继承
NSDictionary
派生
属性
实现

注解

这是一个不可变字典,若要创建可变字典,请使用 NSMutableDictionary 类型。

有一个方便的构造函数,它至少采用一个键和一个值,其可选值将通过将每个键与值配对来创建字典。 如果使用 .NET 对象,则首先使用 将键和值装箱到 NSObject 中 FromObject(Object)

//
// Using C# objects, strings and ints, produces
// a dictionary with 2 NSString keys, "key1" and "key2"
// and two NSNumbers with the values 1 and 2
//
var dict = new NSDictionary ("key1", 1, "key2", 2);

//
// Using NSObjects directly, gives you fine control
//
var key1 = new NSString ("key1");
var value1 = new NSNumber ((byte) 1);
var key2 = new NSString ("key2");
var value2 = new NSNumber ((byte) 2);

var dict2 = new NSDictionary (key1, value1, key2, value2);

有时,你可能已经有一个键和值的数组,因此可以使用以下工厂方法:

var keys = new object [] { "key1", "key2" };
var values = new object [] { "value1", "value2" }:

var dict = NSDictionary.FromObjectsAndKeys (values, keys);

NSDictionary 类型实现 ICollection、IDictionary 和泛型 ICollection 和 IDictionary 接口,这便于与现有 .NET API 一起使用,并提供采用 NSObject、NSString 或 C# 字符串以及枚举器的索引器。

在某些情况下,你可能要循环访问,或者尚未显示绑定类型,但具有键的句柄,可以使用 LowlevelObjectForKey(IntPtr) 它获取键的句柄,并返回返回对象的句柄。

构造函数

NSDictionary()

不带参数初始化此类的新实例的默认构造函数。

NSDictionary(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

NSDictionary(NSCoder)

从 unarchiver 对象中存储的数据初始化 对象的构造函数。

NSDictionary(NSDictionary)

从现有 NSDictionary 创建新的 NSDictionary。

NSDictionary(NSDictionary, Boolean)

提供从键到值的映射的字典。

NSDictionary(NSObject, NSObject, NSObject[])

从 NSObject 键和 NSObject 值的列表创建 NSDictionary。

NSDictionary(NSObjectFlag)

在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。

NSDictionary(NSUrl)

根据位于指定 URL 处的 PropertyList 的内容创建新字典。

NSDictionary(NSUrl, NSError)

提供从键到值的映射的字典。

NSDictionary(Object, Object, Object[])

从键和值列表创建 NSDictionary。

NSDictionary(String)

根据位于指定文件中的 PropertyList 的内容创建新字典。

属性

Class

提供从键到值的映射的字典。

(继承自 NSObject)
ClassHandle

此类的句柄。

Count

返回字典中的键数。

DebugDescription

此对象的开发人员有意义的说明。

(继承自 NSObject)
Description

对象的说明,即 ToString 的 Objective-C 版本。

(继承自 NSObject)
DescriptionInStringsFileFormat

字典的内容,格式为 .strings 文件格式。

Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 NSObject)
IsDirectBinding

提供从键到值的映射的字典。

(继承自 NSObject)
IsProxy

提供从键到值的映射的字典。

(继承自 NSObject)
Item[NSObject]

返回从字典中的键关联的值;如果未找到该键,则返回 null。

Item[NSString]

返回从字典中的键关联的值;如果未找到该键,则返回 null。

Item[String]

返回从字典中的键关联的值;如果未找到该键,则返回 null。

Keys

NSDictionary 的键集。

ObjectEnumerator

NSDictionary 中值的 NSEnumerator。

RetainCount

返回对象的当前 Objective-C 保留计数。

(继承自 NSObject)
Self

提供从键到值的映射的字典。

(继承自 NSObject)
Superclass

提供从键到值的映射的字典。

(继承自 NSObject)
SuperHandle

用于表示此 NSObject 基类中方法的句柄。

(继承自 NSObject)
Values

NSDictionary 中值的数组。

Zone

提供从键到值的映射的字典。

(继承自 NSObject)

方法

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

使用 NSString keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

使用字符串 keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AwakeFromNib()

从 nib 文件加载对象后调用。 替代器必须调用 base。AwakeFromNib () 。

(继承自 NSObject)
BeginInvokeOnMainThread(Action)

提供从键到值的映射的字典。

(继承自 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

在主 UI 线程上异步调用指定的代码。

(继承自 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

提供从键到值的映射的字典。

(继承自 NSObject)
Bind(String, NSObject, String, NSDictionary)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
BindingInfo(String)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
BindingOptionDescriptions(String)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
BindingValueClass(String)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
CommitEditing()

提供从键到值的映射的字典。

(继承自 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

提供从键到值的映射的字典。

(继承自 NSObject)
ConformsToProtocol(IntPtr)

调用以确定此对象是否实现指定的协议。

(继承自 NSObject)
ContainsKey(NSObject)

确定字典中是否存在指定的键。

Copy()

执行基础 Objective-C 对象的副本。

(继承自 NSObject)
Copy(NSZone)

执行基础 Objective-C 对象的副本。

DangerousAutorelease()

提供从键到值的映射的字典。

(继承自 NSObject)
DangerousRelease()

提供从键到值的映射的字典。

(继承自 NSObject)
DangerousRetain()

提供从键到值的映射的字典。

(继承自 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

指示对多关系的索引发生了更改。

(继承自 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

提供从键到值的映射的字典。

(继承自 NSObject)
DidChangeValue(String)

指示对指定的键进行了更改。

(继承自 NSObject)
Dispose()

释放 NSObject 对象使用的资源。

(继承自 NSObject)
Dispose(Boolean)

释放 NSObject 对象使用的资源。

(继承自 NSObject)
DoesNotRecognizeSelector(Selector)

指示此对象无法识别指定的选择器。

(继承自 NSObject)
EncodeTo(NSCoder)

在提供的编码器上对对象的状态进行编码

Equals(NSObject)

提供从键到值的映射的字典。

(继承自 NSObject)
Equals(Object)

提供从键到值的映射的字典。

(继承自 NSObject)
ExposedBindings()

提供从键到值的映射的字典。

(继承自 NSObject)
FromDictionary(NSDictionary)

用于创建新的 NSDictionary 的工厂方法,该 NSDictionary 是指定源 NSDictionary 的副本。

FromFile(String)

根据位于指定文件中的 PropertyList 的内容创建新字典。

FromObjectAndKey(NSObject, NSObject)

工厂方法,用于创建使用指定的 obj (值) 和键初始化的新 NSDictionary。

FromObjectsAndKeys(NSObject[], NSObject[])

从一组值和键创建字典。

FromObjectsAndKeys(NSObject[], NSObject[], nint)

从一组值和键创建字典。

FromObjectsAndKeys(Object[], Object[])

从一组值和键创建字典。

FromObjectsAndKeys(Object[], Object[], nint)

从一组值和键创建字典。

FromUrl(NSUrl)

根据位于指定 URL 处的 PropertyList 的内容创建新字典。

FromUrl(NSUrl, NSError)

提供从键到值的映射的字典。

GetBindingInfo(NSString)

提供从键到值的映射的字典。

(继承自 NSObject)
GetBindingOptionDescriptions(NSString)

提供从键到值的映射的字典。

(继承自 NSObject)
GetBindingValueClass(NSString)

提供从键到值的映射的字典。

(继承自 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

检索指定键的值。

(继承自 NSObject)
GetEnumerator()

提供从键到值的映射的字典。

GetHashCode()

为当前实例生成哈希代码。

(继承自 NSObject)
GetMethodForSelector(Selector)

提供从键到值的映射的字典。

(继承自 NSObject)
GetNativeField(String)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
GetNativeHash()

提供从键到值的映射的字典。

(继承自 NSObject)
GetSharedKeySetForKeys(NSObject[])

为指定的密钥创建共享密钥集。

Init()

提供从键到值的映射的字典。

(继承自 NSObject)
InitializeHandle(IntPtr)

提供从键到值的映射的字典。

(继承自 NSObject)
InitializeHandle(IntPtr, String)

提供从键到值的映射的字典。

(继承自 NSObject)
Invoke(Action, Double)

提供从键到值的映射的字典。

(继承自 NSObject)
Invoke(Action, TimeSpan)

提供从键到值的映射的字典。

(继承自 NSObject)
InvokeOnMainThread(Action)

提供从键到值的映射的字典。

(继承自 NSObject)
InvokeOnMainThread(Selector, NSObject)

同步调用主 UI 线程上的指定代码。

(继承自 NSObject)
IsEqual(NSObject)

提供从键到值的映射的字典。

(继承自 NSObject)
IsEqualToDictionary(NSDictionary)

如此 如果字典具有相同数量的条目,并且对于所有键,值返回 true 对于 Equals。

IsKindOfClass(Class)

提供从键到值的映射的字典。

(继承自 NSObject)
IsMemberOfClass(Class)

提供从键到值的映射的字典。

(继承自 NSObject)
KeysForObject(NSObject)

其值等于指定 obj 的键的数组(可能为空)。

LowlevelObjectForKey(IntPtr)

低级别键查找。

MarkDirty()

将常规对等对象 (IsDirectBinding 为 true) 提升为 toggleref 对象。

(继承自 NSObject)
MutableCopy()

创建指定 NSObject 的可变副本。

(继承自 NSObject)
MutableCopy(NSZone)

执行基础 Objective-C 对象的副本。

ObjectDidEndEditing(NSObject)

提供从键到值的映射的字典。

(继承自 NSObject)
ObjectForKey(NSObject)

映射到指定键的对象,或 null。

ObjectsForKeys(NSArray, NSObject)

指定键的 对象的数组。 如果未找到该键,则标记对象将放置在返回的数组中的相应索引处。

ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

指示相对于此对象的指定 keyPath 处的值已更改。

(继承自 NSObject)
PerformSelector(Selector)

提供从键到值的映射的字典。

(继承自 NSObject)
PerformSelector(Selector, NSObject)

提供从键到值的映射的字典。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double)

在当前实例上调用选择器,如果 obj 不为 null,则将其作为其单个参数传递。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

提供从键到值的映射的字典。

(继承自 NSObject)
PerformSelector(Selector, NSObject, NSObject)

提供从键到值的映射的字典。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

提供从键到值的映射的字典。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

提供从键到值的映射的字典。

(继承自 NSObject)
PrepareForInterfaceBuilder()

提供从键到值的映射的字典。

(继承自 NSObject)
RemoveObserver(NSObject, NSString)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RespondsToSelector(Selector)

此对象是否识别指定的选择器。

(继承自 NSObject)
SetNativeField(String, NSObject)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
SetNilValueForKey(NSString)

将指定键的值设置为 null。

(继承自 NSObject)
SetValueForKey(NSObject, NSString)

将键指定的属性的值设置为指定的值。

(继承自 NSObject)
SetValueForKeyPath(IntPtr, NSString)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

(继承自 NSObject)
SetValueForKeyPath(NSObject, NSString)

设置可以使用键路径访问的属性的值。

(继承自 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

指示尝试将值写入未定义的键。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

将此 NSObject 的值设置为指定字典中的值。

(继承自 NSObject)
ToFileAttributes()

提供从键到值的映射的字典。

ToString()

返回当前实例的值的字符串表示形式。

(继承自 NSObject)
TryGetValue(NSObject, NSObject)

提供从键到值的映射的字典。

Unbind(NSString)

提供从键到值的映射的字典。

(继承自 NSObject)
Unbind(String)
已过时.

提供从键到值的映射的字典。

(继承自 NSObject)
ValueForKey(NSString)

返回与指定键关联的属性的值。

(继承自 NSObject)
ValueForKeyPath(NSString)

返回可以使用键路径访问的属性的值。

(继承自 NSObject)
ValueForUndefinedKey(NSString)

指示尝试读取未定义键的值。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

指示指定键中指定索引的值即将更改。

(继承自 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

提供从键到值的映射的字典。

(继承自 NSObject)
WillChangeValue(String)

指示指定键的值即将更改。

(继承自 NSObject)
WriteToFile(String, Boolean)

尝试将 NSDictionary 写入指定路径。 如果 useAuxiliaryFile 为 true,则以原子方式写入文件。 返回成功或失败。

WriteToUrl(NSUrl, Boolean)

尝试将 NSDictionary 写入指定的 URL,以及是否以原子方式执行此操作。 返回成功或失败。

显式接口实现

ICollection.CopyTo(Array, Int32)

提供从键到值的映射的字典。

ICollection.Count

提供从键到值的映射的字典。

ICollection.IsSynchronized

提供从键到值的映射的字典。

ICollection.SyncRoot

提供从键到值的映射的字典。

ICollection<KeyValuePair<NSObject,NSObject>>.Add(KeyValuePair<NSObject,NSObject>)

提供从键到值的映射的字典。

ICollection<KeyValuePair<NSObject,NSObject>>.Clear()

提供从键到值的映射的字典。

ICollection<KeyValuePair<NSObject,NSObject>>.Contains(KeyValuePair<NSObject,NSObject>)

提供从键到值的映射的字典。

ICollection<KeyValuePair<NSObject,NSObject>>.CopyTo(KeyValuePair<NSObject,NSObject>[], Int32)

创建此对象的副本,如果参数为 null,则从指定区域或默认区域分配内存。

ICollection<KeyValuePair<NSObject,NSObject>>.Count

提供从键到值的映射的字典。

ICollection<KeyValuePair<NSObject,NSObject>>.IsReadOnly

提供从键到值的映射的字典。

ICollection<KeyValuePair<NSObject,NSObject>>.Remove(KeyValuePair<NSObject,NSObject>)

提供从键到值的映射的字典。

IDictionary.Add(Object, Object)

提供从键到值的映射的字典。

IDictionary.Clear()

提供从键到值的映射的字典。

IDictionary.Contains(Object)

提供从键到值的映射的字典。

IDictionary.GetEnumerator()

提供从键到值的映射的字典。

IDictionary.IsFixedSize

提供从键到值的映射的字典。

IDictionary.IsReadOnly

提供从键到值的映射的字典。

IDictionary.Item[Object]

提供从键到值的映射的字典。

IDictionary.Keys

提供从键到值的映射的字典。

IDictionary.Remove(Object)

提供从键到值的映射的字典。

IDictionary.Values

提供从键到值的映射的字典。

IDictionary<NSObject,NSObject>.Add(NSObject, NSObject)

提供从键到值的映射的字典。

IDictionary<NSObject,NSObject>.Keys

提供从键到值的映射的字典。

IDictionary<NSObject,NSObject>.Remove(NSObject)

提供从键到值的映射的字典。

IDictionary<NSObject,NSObject>.Values

提供从键到值的映射的字典。

IEnumerable.GetEnumerator()

提供从键到值的映射的字典。

扩展方法

ObjectDidBeginEditing(NSObject, INSEditor)

提供从键到值的映射的字典。

ObjectDidEndEditing(NSObject, INSEditor)

提供从键到值的映射的字典。

GetValidModes(NSObject, NSFontPanel)

提供从键到值的映射的字典。

ValidateToolbarItem(NSObject, NSToolbarItem)

提供从键到值的映射的字典。

GetDebugDescription(INSObjectProtocol)

提供从键到值的映射的字典。

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

提供从键到值的映射的字典。

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

提供从键到值的映射的字典。

EndPreviewPanelControl(NSObject, QLPreviewPanel)

提供从键到值的映射的字典。

GetAccessibilityCustomRotors(NSObject)

获取适用于 this 对象的 对象的数组UIAccessibilityCustomRotor

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

设置适用于 this 对象的 对象数组UIAccessibilityCustomRotor

适用于

另请参阅