init(options: NSPointerFunctions.Options, capacity: Int)
init(pointerFunctions : NSPointerFunctions, capacity: Int)
Availability 有効性
Technology
class NSHashTable<ObjectType > : NSObject
where ObjectType : AnyObject
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 NSHash
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.
あなたは、NSHash
インスタンスを構成設定することで単なるオブジェクトでなく随意のポインタ上で演算できます、もっとも概してあなたはC関数APIをvoid * ポインターに使うことを推奨されます。オブジェクト基盤API(例えばadd(_:)
)は、非オブジェクトポインタを型キャストなしでは扱わないでしょう。
Because of its options, NSHash
is not a set because it can behave differently (for example, if pointer equality is specified two is
strings will both be entered).
それのオプションが原因で、NSHash
は集合ではありません、なぜならそれは異なって振る舞えるからです(例えば、ポインタ同等性が指定されるならば2つのis
文字列が両方とも登録されるでしょう。
When configuring hash tables, note that only the options listed in NSHash
guarantee that the rest of the API will work correctly—including copying, archiving, and fast enumeration. While other NSPointer
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.
ハッシュテーブルを構成設定する時、NSHash
において一覧にされるオプションだけが、APIの残りが正しく働くことを保証することに注意してください — コピー、アーカイブ化、そして高速列挙を行うことを含めて。他のNSPointer
オプションが特定の構成設定、例えば随意のポインタを保持するためなどのために使われる一方、オプションの組み合わせ全てが有効ではありません。いくつかの組み合わせでハッシュテーブルは正しく働かないかもしれません、または正しく初期化さえされないかもしれません。
NSHash
is not suitable for subclassing.
NSHash
は、サブクラスを作成するのに適しません。
init(options: NSPointerFunctions.Options, capacity: Int)
init(pointerFunctions : NSPointerFunctions, capacity: Int)
class func weakObjects () -> NSHashTable<ObjectType>
init(options: NSPointerFunctions.Options)
var anyObject : ObjectType?
var allObjects : [ObjectType]
var setRepresentation : Set<AnyHashable>
var count: Int
func contains(ObjectType?) -> Bool
func member(ObjectType?) -> ObjectType?
func objectEnumerator () -> NSEnumerator
func add(ObjectType?)
func remove(ObjectType?)
func removeAllObjects ()
func intersect(NSHashTable<ObjectType>)
func intersects(NSHashTable<ObjectType>) -> Bool
func isSubset (of: NSHashTable<ObjectType>) -> Bool
func isEqual (to: NSHashTable<ObjectType>) -> Bool
func minus(NSHashTable<ObjectType>)
func union(NSHashTable<ObjectType>)
var pointerFunctions : NSPointerFunctions
class NSPointerFunctions
NSPointerFunctions
defines callout functions appropriate for managing a pointer reference held somewhere else.
NSPointerFunctions
のインスタンスは、どこか他の場所で保持されるポインタ参照を管理するためにコールアウト関数を定義します。
typealias NSHashTableOptions
NSHashTable
object.
NSHashTable
オブジェクトの中の要素の挙動を指定するあるビットフィールドの中の構成要素それら。
class NSPointerArray
class NSMapTable