Generic Class

NSHashTable

A collection similar to a set, but with broader range of available memory semantics. 集合に似たコレクション、しかしより幅広い範囲の利用可能なメモリ意味論を持ちます。

Declaration 宣言

class NSHashTable<ObjectType> : NSObject where ObjectType : AnyObject

Overview 概要

The hash table is modeled after NSSet with the following differences: ハッシュテーブルは、NSSetを手本にされ、次の相違点を備えます:

  • It can hold weak references to its members. それは、それのメンバーへの弱い参照を保持できます。

  • Its members may be copied on input or may use pointer identity for equality and hashing. それのメンバーは、入力においてコピーされるかもしれません、またはポインタ同一性を等式およびハッシュ化のために使うかもしれません。

  • It can contain arbitrary pointers (its members are not constrained to being objects). それは、随意のポインタを含むことができます(それのメンバーはオブジェクトであることを強制されません)。

You can configure an NSHashTable instance to operate on arbitrary pointers and not just objects, although typically you are encouraged to use the C function API for void * pointers. The object-based API (such as add(_:)) will not work for non-object pointers without type-casting. あなたは、NSHashTableインスタンスを構成設定することで単なるオブジェクトでなく随意のポインタ上で演算できます、もっとも概してあなたはC関数APIをvoid * ポインターに使うことを推奨されます。オブジェクト基盤API(例えばadd(_:))は、非オブジェクトポインタを型キャストなしでは扱わないでしょう。

Because of its options, NSHashTable is not a set because it can behave differently (for example, if pointer equality is specified two isEqual: strings will both be entered). それのオプションが原因で、NSHashTableは集合ではありません、なぜならそれは異なって振る舞えるからです(例えば、ポインタ同等性が指定されるならば2つのisEqual:文字列が両方とも登録されるでしょう。

When configuring hash tables, note that only the options listed in NSHashTableOptions guarantee that the rest of the API will work correctly—including copying, archiving, and fast enumeration. While other NSPointerFunctions options are used for certain configurations, such as to hold arbitrary pointers, not all combinations of the options are valid. With some combinations the hash table may not work correctly, or may not even be initialized correctly. ハッシュテーブルを構成設定する時、NSHashTableOptionsにおいて一覧にされるオプションだけが、APIの残りが正しく働くことを保証することに注意してください — コピー、アーカイブ化、そして高速列挙を行うことを含めて。他のNSPointerFunctionsオプションが特定の構成設定、例えば随意のポインタを保持するためなどのために使われる一方、オプションの組み合わせ全てが有効ではありません。いくつかの組み合わせでハッシュテーブルは正しく働かないかもしれません、または正しく初期化さえされないかもしれません。

Subclassing Notes サブクラス作成の注意

NSHashTable is not suitable for subclassing. NSHashTableは、サブクラスを作成するのに適しません。

Topics 話題

Initialization 初期化

Convenience Constructors 便宜コンストラクタ

Accessing Content 内容にアクセスする

Manipulating Membership メンバーシップを操作する

Comparing Hash Tables ハッシュテーブルを比較する

Set Functions 集合関数

Accessing Pointer Functions ポインタ関数にアクセスする

Constants 定数

Relationships 関係

Inherits From 継承元

Conforms To 次に準拠

See Also 参照

Pointer Collections ポインタコレクション