NSHashTable官方文档阅读

2017-06-14  本文已影响212人  AppleTTT

NSHashTable

Overview

NSHashTable在NSSet之后添加的类,但提供了不同的选项,特别是支持弱引用。区别如下:

1. NSHashTable可以对其内的成员进行弱引用;
2. NSHashTable的成员可以在添加的时候被拷贝一份副本;并且可以控制在将对象添加到NSHashTable中时是否调用对象上的 isEqualTo: 和 hash方法;
3. 它可以包含任意指针(其成员不被约束为对象)。

你可以将 NSHashTable 实例配置为对任意指针进行操作,而不仅仅是对象,尽管通常会鼓励使用 C 的 API: void * 指针来操作。基于对象的 API(例如 addObject:)将无法在不进行类型转换的情况下对无对象指针操作。

由于它的一些选项,NSHashTable不是一个集合,因为它可以有不同的行为(例如,如果指定了两个isEqual:相等的字符串可能都被添加)。

配置NSHashTable时,请注意,只有NSHashTableOptions中列出的选项才能保证其余的API能正常工作,包括复制,归档和快速枚举。 虽然其他NSPointerFunctions选项用于某些配置,例如保留任意指针,但并不是所有选项的组合都有效。 使用某些组合,NSHashTable可能无法正常工作,甚至可能无法正确初始化。

NOTE: NSHashTable不适用于子类化。

Symbols

Initialization


Convenience Constructors


Accessing Content







Manipulating Membership



Comparing Hash Tables




Set Functions


Accessing Pointer Functions

Constants

参考

NSHash​Table & NSMap​Table

上一篇下一篇

猜你喜欢

热点阅读