init(array: [Any])
init(set: Set<AnyHashable>)
init(capacity: Int)
Availability 有効性
Technology
class NSCountedSet : NSMutableSet
Each distinct object inserted into an NSCounted
object has a counter associated with it. NSCounted
keeps track of the number of times objects are inserted and requires that objects be removed the same number of times. Thus, there is only one instance of an object in an NSSet
object even if the object has been added to the set multiple times. The count
method defined by the superclass NSSet
has special significance; it returns the number of distinct objects, not the total number of times objects are represented in the set. The NSSet
and NSMutable
classes are provided for static and dynamic sets, respectively, whose elements are distinct.
NSCounted
オブジェクトに挿入されるそれぞれ別個のオブジェクトは、それと結び付けられるカウンターを持ちます。NSCounted
は、オブジェクトが挿入される回数の情報を得続けます、そしてそのオブジェクトが同じ回数除去されることを要求します。従って、あるオブジェクトのただ1つのインスタンスだけがNSSet
オブジェクトの中にあります、たとえそのオブジェクトがその集合に複数回加えられるとしてもです。count
メソッドでスーパークラスNSSet
によって定義されるものは、特別な意味を持ちます;それは別個のオブジェクトの数を返します、オブジェクトが集合の中で表される回数の合計ではなく。NSSet
およびNSMutable
クラスは、それの要素が別個のものである、静的および動的な集合のために、それぞれ提供されます。
While NSCounted
and CFBag
are not toll-free bridged, they provide similar functionality. For more information about CFBag
, see the CFBag.
一方NSCounted
とCFBag
は、トールフリーブリッジされません、それらはよく似た機能性を提供します。CFBag
についてのさらなる情報として、CFBagを見てください。
Because NSCounted
is not a class cluster, it does not have primitive methods that provide the basis for its implementation. In general, there should be little need for subclassing.
NSCounted
はクラスクラスタでないことから、それは、それの実装の基礎を提供する根本的メソッドを持ちません。一般には、サブクラスを作る必要は小さいはずです。
If you subclass NSCounted
, you must override any method of which you want to change the behavior.
あなたがNSCounted
のサブクラスを作るならば、あなたは、あなたが挙動の変更を望むあらゆるメソッドをオーバーライドしなければなりません。
If you change the primitive behavior of an NSCounted
, for instance if you change how objects are stored, you must override all of the affected methods. These include:
あなたがNSCounted
の根本の挙動を変更するならば、例えばあなたがオブジェクトが格納される方法を変更するならば、あなたは影響されるメソッドの全てをオーバーライドしなければなりません。それらは以下を含みます:
If you change the primitive behavior, you must also override the primitive methods of NSSet
and NSMutable
.
あなたが根本の挙動を変更するならば、あなたはまたNSSet
とNSMutable
の根本的メソッドもオーバーライドしなければなりません。
init(array: [Any])
init(set: Set<AnyHashable>)
init(capacity: Int)
func add(Any)
func remove(Any)
func count(for: Any) -> Int
func objectEnumerator () -> NSEnumerator
class NSOrderedSet
class NSMutableOrderedSet