Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSHashTable

Опции
Развертывание Target:

На этой странице
Язык:

NSHashTable

NSHashTable моделируется после NSSet но предоставляет различные возможности, в частности поддерживать слабые отношения.

  • Это может содержать слабые ссылки на свои элементы.

  • Его элементы могут быть скопированы на вводе или могут использовать идентификационные данные указателя для равенства и хеширования.

  • Это может содержать произвольные указатели (его элементы не ограничиваются к тому, чтобы быть объектами).

    Можно сконфигурировать NSHashTable экземпляр для работы на произвольные указатели и не только возражает, несмотря на то, что обычно Вы призваны использовать функцию C API для void * указатели. (См. Хэш-таблицы для получения дополнительной информации) основанный на объектах API (такой как addObject:) не будет работать на необъектные указатели без преобразования типа.

Из-за его опций, NSHashTable не набор, потому что он может вести себя по-другому (например, если равенство указателя указано два isEqual: строки будут оба вводиться).

При конфигурировании хэш-таблиц обратите внимание на то, что только опции, перечисленные в Опциях Хэш-таблицы, гарантируют, что остальная часть API будет работать правильно — включая копирование, архивацию и быстрое перечисление. В то время как другой NSPointerFunctions опции используются для определенных конфигураций, например, для содержания произвольных указателей, не, все комбинации опций допустимы. С некоторыми комбинациями хэш-таблица может не работать правильно или даже не может быть инициализирована правильно.

Разделение на подклассы примечаний

NSHashTable не подходит для разделения на подклассы.

Наследование


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.5 и позже.
  • init (options:capacity:) - initWithOptions:capacity: Определяемый инициализатор

    Возвращает хэш-таблицу, инициализированную с данными атрибутами.

    Объявление

    Swift

    init(options options: NSPointerFunctionsOptions, capacity capacity: Int)

    Objective C

    - (instancetype)initWithOptions:(NSPointerFunctionsOptions)options capacity:(NSUInteger)capacity

    Параметры

    options

    Немного поля, указывающего опции для элементов в хэш-таблице. Для возможных значений посмотрите “Hash Table Options”.

    capacity

    Начальное число элементов хэш-таблица может содержать.

    Возвращаемое значение

    Хэш-таблица, инициализированная с опциями, указанными options и начальная способность capacity.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • init (pointerFunctions:capacity:) - initWithPointerFunctions:capacity: Определяемый инициализатор

    Возвращает хэш-таблицу, инициализированную с заданными функциями и способностью.

    Объявление

    Swift

    init(pointerFunctions functions: NSPointerFunctions, capacity initialCapacity: Int)

    Objective C

    - (instancetype)initWithPointerFunctions:(NSPointerFunctions *)functions capacity:(NSUInteger)initialCapacity

    Параметры

    functions

    Указатель функционирует для новой хэш-таблицы.

    initialCapacity

    Начальная способность хэш-таблицы.

    Возвращаемое значение

    Хэш-таблица, инициализированная с заданными функциями и способностью.

    Обсуждение

    Хэш-таблицы выделяют дополнительную память по мере необходимости, таким образом, initialCapacity просто устанавливает начальную способность объекта.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает новую хэш-таблицу для хранения слабых ссылок на его содержание.

    Объявление

    Swift

    class func weakObjectsHashTable() -> NSHashTable

    Objective C

    + (NSHashTable *)weakObjectsHashTable

    Возвращаемое значение

    Новое имеет таблицу, использующую опции NSHashTableZeroingWeakMemory и NSPointerFunctionsObjectPersonality и имеет начальную способность 0.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.8 и позже.

  • Возвращает хэш-таблицу с данными опциями функций подсказки.

    Объявление

    Swift

    init(options options: NSPointerFunctionsOptions) -> NSHashTable

    Objective C

    + (NSHashTable *)hashTableWithOptions:(NSPointerFunctionsOptions)options

    Параметры

    options

    Немного поля, указывающего опции для элементов в хэш-таблице. Для возможных значений посмотрите “Hash Table Options”.

    Возвращаемое значение

    Хэш-таблица с данными опциями функций подсказки.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • allObjects allObjects Свойство

    Элементы хэш-таблицы. (только для чтения)

    Объявление

    Swift

    var allObjects: [AnyObject] { get }

    Objective C

    @property(readonly, copy) NSArray *allObjects

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • anyObject anyObject Свойство

    Один из объектов в хэш-таблице. (только для чтения)

    Объявление

    Swift

    var anyObject: AnyObject? { get }

    Objective C

    @property(nonatomic, readonly) id anyObject

    Обсуждение

    Один из объектов в хэш-таблице, или nil если хэш-таблица не содержит объектов.

    Объект возвратился, выбран в удобстве хэш-таблицы — выбор, как гарантируют, не будет случаен.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает булево значение, указывающее, содержит ли хэш-таблица данный объект.

    Объявление

    Swift

    func containsObject(_ anObject: AnyObject) -> Bool

    Objective C

    - (BOOL)containsObject:(id)anObject

    Параметры

    anObject

    Объект протестировать на членство в хэш-таблице.

    Возвращаемое значение

    YEStrue если хэш-таблица содержит anObject, иначе NOfalse.

    Обсуждение

    Используемый тест равенства зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Число элементов в хэш-таблице. (только для чтения)

    Объявление

    Swift

    var count: Int { get }

    Objective C

    @property(readonly) NSUInteger count

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Определяет, содержит ли хэш-таблица данный объект и возвраты, возражающие, присутствует ли она

    Объявление

    Swift

    func member(_ object: AnyObject) -> AnyObject?

    Objective C

    - (id)member:(id)object

    Параметры

    object

    Объект протестировать на членство в хэш-таблице.

    Возвращаемое значение

    Если object элемент хэш-таблицы, возвратов object, иначе возвраты nil.

    Обсуждение

    Используемый тест равенства зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает объект перечислителя, позволяющий Вам доступ каждый объект в хэш-таблице.

    Объявление

    Swift

    func objectEnumerator() -> NSEnumerator

    Objective C

    - (NSEnumerator *)objectEnumerator

    Возвращаемое значение

    Объект перечислителя, позволяющий Вам доступ каждый объект в хэш-таблице.

    Обсуждение

    Следующий фрагмент кода иллюстрирует, как можно использовать этот метод.

    • NSEnumerator *enumerator = [myHashTable objectEnumerator];
    • id value;
    • while ((value = [enumerator nextObject])) {
    • /* code that acts on the hash table's values */
    • }

    Специальные замечания

    Более эффективно использовать быстрый протокол перечисления (см. NSFastEnumeration).

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Набор, содержащий элементы хэш-таблицы. (только для чтения)

    Объявление

    Swift

    @NSCopying var setRepresentation: NSSet { get }

    Objective C

    @property(readonly, copy) NSSet *setRepresentation

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Добавляет данный объект к хэш-таблице.

    Объявление

    Swift

    func addObject(_ object: AnyObject)

    Objective C

    - (void)addObject:(id)object

    Параметры

    object

    Объект добавить к хэш-таблице.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Удаляет все объекты из хэш-таблицы.

    Объявление

    Swift

    func removeAllObjects()

    Objective C

    - (void)removeAllObjects

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Удаляет данный объект из хэш-таблицы.

    Объявление

    Swift

    func removeObject(_ object: AnyObject)

    Objective C

    - (void)removeObject:(id)object

    Параметры

    object

    Объект удалить из хэш-таблицы.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает булево значение, указывающее, пересекается ли данная хэш-таблица с хэш-таблицей получения.

    Объявление

    Swift

    func intersectsHashTable(_ other: NSHashTable) -> Bool

    Objective C

    - (BOOL)intersectsHashTable:(NSHashTable *)other

    Параметры

    other

    Хэш-таблица, с которой можно сравнить хэш-таблицу получения.

    Возвращаемое значение

    YEStrue если other пересекается с хэш-таблицей получения, иначе NOfalse.

    Обсуждение

    Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Удаляет из хэш-таблицы получения каждый элемент, который не является элементом другой данной хэш-таблицы.

    Объявление

    Swift

    func intersectHashTable(_ other: NSHashTable)

    Objective C

    - (void)intersectHashTable:(NSHashTable *)other

    Параметры

    other

    Хэш-таблица, с которой можно выполнить пересечение.

    Обсуждение

    Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает булево значение, указывающее, равна ли данная хэш-таблица хэш-таблице получения.

    Объявление

    Swift

    func isEqualToHashTable(_ other: NSHashTable) -> Bool

    Objective C

    - (BOOL)isEqualToHashTable:(NSHashTable *)other

    Параметры

    other

    Хэш-таблица, с которой можно сравнить хэш-таблицу получения.

    Возвращаемое значение

    YEStrue если содержание other равны содержанию хэш-таблицы получения, иначе NOfalse.

    Обсуждение

    Две хэш-таблицы имеют равное содержание, если у каждого из них есть то же число членов и если каждый элемент одной хэш-таблицы присутствует в другом.

    Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает булево значение, указывающее, присутствует ли каждый элемент в хэш-таблице получения также в другой данной хэш-таблице.

    Объявление

    Swift

    func isSubsetOfHashTable(_ other: NSHashTable) -> Bool

    Objective C

    - (BOOL)isSubsetOfHashTable:(NSHashTable *)other

    Параметры

    other

    Хэш-таблица, с которой можно сравнить хэш-таблицу получения.

    Возвращаемое значение

    YEStrue если каждый элемент в хэш-таблице получения также присутствует в other, иначе NOfalse.

    Обсуждение

    Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Удаляет каждый элемент в другой данной хэш-таблице из хэш-таблицы получения, если существующий.

    Объявление

    Swift

    func minusHashTable(_ other: NSHashTable)

    Objective C

    - (void)minusHashTable:(NSHashTable *)other

    Параметры

    other

    Хэш-таблица элементов для удаления из хэш-таблицы получения.

    Обсуждение

    Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Добавляет каждый элемент в другой данной хэш-таблице к хэш-таблице получения, если не существующий.

    Объявление

    Swift

    func unionHashTable(_ other: NSHashTable)

    Objective C

    - (void)unionHashTable:(NSHashTable *)other

    Параметры

    other

    Хэш-таблица элементов для добавления к хэш-таблице получения.

    Обсуждение

    Тест равенства, используемый для элементов, зависит от выбранной опции индивидуальности. Например, выбор NSPointerFunctionsObjectPersonality опция будет использовать isEqual: определить равенство. Посмотрите NSPointerFunctionsOptions для получения дополнительной информации об опциях индивидуальности и их соответствующих тестах равенства.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Указатель функционирует для хэш-таблицы. (только для чтения)

    Объявление

    Swift

    @NSCopying var pointerFunctions: NSPointerFunctions { get }

    Objective C

    @property(readonly, copy) NSPointerFunctions *pointerFunctions

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращает новую хэш-таблицу для хранения слабых ссылок на его содержание.

    Оператор осуждения

    Использовать weakObjectsHashTable вместо этого.

    Объявление

    Objective C

    + (id)hashTableWithWeakObjects

    Возвращаемое значение

    Новое имеет таблицу, использующую опции NSHashTableZeroingWeakMemory и NSPointerFunctionsObjectPersonality и имеет начальную способность 0.

    Специальные замечания

    Этот метод не поддерживается под Automatic Reference Counting (ARC).

    Оператор импорта

    Objective C

    @import Foundation;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.8.

  • Компоненты в битовом поле для указания поведения элементов в NSHashTable объект.

    Объявление

    Swift

    typealias NSHashTableOptions = Int

    Objective C

    enum { NSHashTableStrongMemory = 0, NSHashTableZeroingWeakMemory = NSPointerFunctionsZeroingWeakMemory, NSHashTableCopyIn = NSPointerFunctionsCopyIn, NSHashTableObjectPointerPersonality = NSPointerFunctionsObjectPointerPersonality, NSHashTableWeakMemory = NSPointerFunctionsWeakMemory }; typedef NSUInteger NSHashTableOptions;

    Константы

    • NSHashTableStrongMemory

      NSHashTableStrongMemory

      Доступный в OS X v10.5 и позже.

    • NSHashTableZeroingWeakMemory

      NSHashTableZeroingWeakMemory

      Эта опция была осуждена. Вместо этого используйте NSHashTableWeakMemory опция. Равный NSPointerFunctionsZeroingWeakMemory.

      Обратите внимание на то, что NSHashTableWeakMemory не полностью эквивалентно и совместим с поведением предыдущей опции: объекты должны быть безопасными от слабой ссылки при ручном и автоматическом подсчете ссылок; не все объекты.

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.8.

    • NSHashTableCopyIn

      NSHashTableCopyIn

      Равный NSPointerFunctionsCopyIn.

      Доступный в OS X v10.5 и позже.

    • NSHashTableObjectPointerPersonality

      NSHashTableObjectPointerPersonality

      Доступный в OS X v10.5 и позже.

    • NSHashTableWeakMemory

      NSHashTableWeakMemory

      Равный NSPointerFunctionsWeakMemory. Использует слабое чтение и барьеры записи, подходящие для ARC или GC. Используя NSPointerFunctionsWeakMemory ссылки на объект повернутся к NULL на последнем выпуске.

      Доступный в OS X v10.8 и позже.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.5 и позже.