Function 関数

NSCreateHashTableWithZone

Creates a new hash table in a given zone. 新しいハッシュテーブルを、与えられたゾーンに作成します。

Declaration 宣言

NSHashTable * NSCreateHashTableWithZone(NSHashTableCallBacks callBacks, NSUInteger capacity, NSZone *zone);

Return Value 戻り値

A pointer to a new hash table created in the specified zone. If zone is NULL, the hash table is created in the default zone. 指定されたゾーンに作成された新しいハッシュテーブルへのポインタ。zoneNULLならば、ハッシュテーブルは省略時のゾーンの中に作成されます。

Discussion 議論

The table’s size is dependent on (but generally not equal to) capacity. If capacity is 0, a small hash table is created. The NSHashTableCallBacks structure callBacks has five pointers to functions, with the following defaults: pointer hashing, if hash is NULL; pointer equality, if isEqual is NULL; no callback upon adding an element, if retain is NULL; no callback upon removing an element, if release is NULL; and a function returning a pointer’s hexadecimal value as a string, if describe is NULL. The hashing function must be defined such that if two data elements are equal, as defined by the comparison function, the values produced by hashing on these elements must also be equal. Also, data elements must remain invariant if the value of the hashing function depends on them; for example, if the hashing function operates directly on the characters of a string, that string can’t change. テーブルのサイズは、capacityに依存します(しかし一般的に等しくはありません)。capacityが0ならば、小さなハッシュテーブルが作成されます。NSHashTableCallBacks構造体callBacksは、関数への五つのポインタを、以下の初期状態とともに持ちます:hashNULLならば、ポインタのハッシュ化;isEqualNULLならば、ポインタ同等性;retainNULLならば、要素の追加に関してコールバックなし;releaseNULLならば、要素の削除に関してコールバックなし;そしてdescribeNULLならば、ポインタの16進数値を文字列として返す関数。ハッシュ関数はこのように定義されなければなりません、もし2つのデータ要素が、比較関数によって定義されるように等しいならば、それら要素上でハッシュ化されることによって生成される値もまた等しくなければなりません。また、もしハッシュ関数の値がそれらに依存するならば、データ要素は変化しないままでなければなりません;例えば、ハッシュ関数が直接に文字列の文字上で作用するならば、その文字列は変化できません。

See Also 参照

Related Documentation 関連文書