NSCountedSet
NSCountedSet
класс объявляет программируемый интерфейс к непостоянному, неупорядоченному набору неясных объектов. Считаемый набор также известен как сумка.
Каждый отдельный объект, вставленный в NSCountedSet
объект имеет счетчик, связанный с ним. NSCountedSet
отслеживает объекты числа раз, вставляются, и требует, чтобы объекты были удалены то же число раз. Таким образом существует только один экземпляр объекта в NSSet
возразите, был ли объект добавлен к набору многократно. count
метод определяется суперклассом NSSet
имеет специальное значение; это возвращает число отдельных объектов, не, общее количество объектов времен представлено в наборе. NSSet
и NSMutableSet
классы предоставлены для статических и динамических наборов (соответственно), элементы которых отличны.
В то время как NSCountedSet
и CFBag
не бесплатный соединенный мостом, они обеспечивают схожую функциональность. Для получения дополнительной информации о CFBag
, консультируйтесь со Ссылкой CFBag.
Разделение на подклассы примечаний
Поскольку NSCountedSet
не кластер класса, он не имеет примитивных методов, обеспечивающих основание для его реализации. В целом должно быть мало потребности в разделении на подклассы.
Методы для переопределения
Если Вы разделяете на подклассы NSCountedSet
, необходимо переопределить любой метод, которого Вы хотите изменить поведение.
Если Вы изменяете примитивное поведение NSCountedSet
, например, если Вы изменяетесь, как объекты хранятся, необходимо переопределить все затронутые методы. Они включают:
При изменении примитивного поведения необходимо также переопределить примитивные методы NSSet
и NSMutableSet
.
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSFastEnumeration
-
NSMutableCopying
-
NSObjectProtocol
-
NSSecureCoding
-
Печатаемый
-
Reflectable
-
SequenceType
-
NSCopying
-
NSFastEnumeration
-
NSMutableCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает считаемый объект набора, инициализированный с содержанием данного массива.
Объявление
Swift
convenience init(array
anArray
: [AnyObject])Objective C
- (instancetype)initWithArray:(NSArray *)
anArray
Параметры
anArray
Массив объектов добавить к новому набору.
Возвращаемое значение
Инициализированный считаемый набор возражает с содержанием
anArray
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
initWithArray:
(NSSet)setWithArray:
(NSSet) -
Возвращает считаемый объект набора, инициализированный с содержанием данного набора.
Объявление
Swift
convenience init(set
aSet
: NSSet)Objective C
- (instancetype)initWithSet:(NSSet *)
aSet
Параметры
aSet
Набор объектов добавить к новому набору.
Возвращаемое значение
Инициализированный считаемый набор возражает с содержанием
aSet
. Возвращенный объект мог бы отличаться, чем исходный получатель.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
initWithSet:
(NSSet)setWithSet:
(NSSet) -
Возвращает считаемый объект набора, инициализированный с достаточным количеством памяти для содержания данного числа объектов.
Объявление
Swift
init(capacity
numItems
: Int)Objective C
- (instancetype)initWithCapacity:(NSUInteger)
numItems
Параметры
numItems
Начальная способность нового считаемого набора.
Возвращаемое значение
Считаемый объект набора, инициализированный с достаточным количеством памяти для содержания
numItems
объектыОбсуждение
Метод является определяемым инициализатором для
NSCountedSet
.Обратите внимание на то, что способность является просто подсказкой, чтобы помочь подписать выделение памяти — начальное количество объекта
0
, и набор все еще растет и уменьшается, как Вы добавляете и удаляете объекты. Если набор станет большим, подсказка обычно полезна.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
initWithCapacity:
(NSMutableSet
)setWithCapacity:
(NSMutableSet
)
-
Добавляет данный объект к набору.
Объявление
Swift
func addObject(_
anObject
: AnyObject)Objective C
- (void)addObject:(id)
anObject
Параметры
anObject
Объект добавить к набору.
Обсуждение
Если
anObject
уже элемент,addObject:
постепенно увеличивает количество, связанное с объектом. ЕслиanObject
уже не элемент, это отправляется aretain
сообщение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет данный объект из набора.
Объявление
Swift
func removeObject(_
anObject
: AnyObject)Objective C
- (void)removeObject:(id)
anObject
Параметры
anObject
Объект удалить из набора.
Обсуждение
Если
anObject
присутствует в наборе, постепенно уменьшает количество, связанное с ним. Если количество постепенно уменьшается к0
,anObject
удален из набора и отправлен arelease
сообщение.removeObject:
ничего не делает еслиanObject
не присутствует в наборе.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает количество, связанное с данным объектом в наборе.
Объявление
Swift
func countForObject(_
anObject
: AnyObject) -> IntObjective C
- (NSUInteger)countForObject:(id)
anObject
Параметры
anObject
Объект, для которого можно возвратить количество.
Возвращаемое значение
Количество связалось с
anObject
в наборе, который может считаться числом случаевanObject
настоящее в наборе.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
count
(NSSet
) -
Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в наборе один раз, независимый от его количества.
Объявление
Swift
func objectEnumerator() -> NSEnumerator
Objective C
- (NSEnumerator *)objectEnumerator
Возвращаемое значение
Объект перечислителя, позволяющий Вам доступ каждый объект в наборе один раз, независимый от его количества.
Обсуждение
Если Вы добавите данный объект к считаемому набору многократно, то перечисление набора произведет тот объект только один раз.
Вы не должны изменять набор во время перечисления. Если Вы намереваетесь изменить набор, используйте
allObjects
метод для создания «снимка» затем перечислите снимок и измените исходный набор.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
См. также
nextObject
(NSEnumerator)