func NSCreateHashTableWithZone (NSHashTableCallBacks, Int, NSZone?) -> NSHashTable<AnyObject>
func NSCopyHashTableWithZone (NSHashTable<AnyObject>, NSZone?) -> NSHashTable<AnyObject>
Availability 有効性
Technology
func NSCreateHashTable(_ callBacks: NSHashTableCallBacks
,
_ capacity: Int
) -> NSHashTable
<AnyObject>
A pointer to an NSHashTable created in the default zone. 省略時のゾーンの中に作成されるNSHashTableへのポインタを返します。
The table’s size is dependent on (but generally not equal to) capacity
. If capacity
is 0, a small hash table is created. The NSHash
structure call
has five pointers to functions, with the following defaults: pointer hashing, if hash
is NULL
; pointer equality, if is
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ならば、小さなハッシュテーブルが作成されます。NSHash
構造体call
は、関数への五つのポインタを、以下の初期状態とともに持ちます:hash
がNULL
ならば、ポインタのハッシュ化;is
がNULL
ならば、ポインタ同等性;retain
がNULL
ならば、要素の追加に関してコールバックなし;release
がNULL
ならば、要素の削除に関してコールバックなし;そしてdescribe
がNULL
ならば、ポインタの16進数値を文字列として返す関数。ハッシュ関数はこのように定義されなければなりません、もし2つのデータ要素が、比較関数によって定義されるように等しいならば、それら要素上でハッシュ化されることによって生成される値もまた等しくなければなりません。また、もしハッシュ関数の値がそれらに依存するならば、データ要素は変化しないままでなければなりません;例えば、ハッシュ関数が直接に文字列の文字上で作用するならば、その文字列は変化できません。
func NSCreateHashTableWithZone (NSHashTableCallBacks, Int, NSZone?) -> NSHashTable<AnyObject>
func NSCopyHashTableWithZone (NSHashTable<AnyObject>, NSZone?) -> NSHashTable<AnyObject>