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

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

Разработчик

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

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

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

NSMapTable

NSMapTable непостоянный набор, смоделированный после NSDictionary но предоставляет различные возможности.

  • Главной опции состоял в том, чтобы содержать ключи и/или значения «слабо» способом, что записи удалены, когда в отношении одного из объектов предъявляют претензии.

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

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

    Можно сконфигурировать NSMapTable экземпляр для работы на произвольные указатели и не только возражает, несмотря на то, что обычно Вы призваны использовать функцию C API для void * указатели. (См. Управляющие Таблицы Карты для получения дополнительной информации) основанный на объектах API (такой как setObject:forKey:) не будет работать на необъектные указатели без преобразования типа.

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

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

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

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


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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.5 и позже.
  • Возвращает таблицу карты, инициализированную с данными опциями.

    Объявление

    Swift

    init(keyOptions keys: NSPointerFunctionsOptions, valueOptions values: NSPointerFunctionsOptions, capacity capacity: Int)

    Objective C

    - (instancetype)initWithKeyOptions:(NSPointerFunctionsOptions)keys valueOptions:(NSPointerFunctionsOptions)values capacity:(NSUInteger)capacity

    Параметры

    keys

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

    values

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

    capacity

    Начальная способность таблицы карты. Это - просто подсказка; таблица карты может впоследствии расти и уменьшиться как требуется.

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

    Таблица карты инициализировала использование данных опций.

    Обсуждение

    values должен содержать записи во всех индексах, указанных в keys.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает новую таблицу карты, инициализированную с данными опциями

    Объявление

    Swift

    init(keyOptions keyOptions: NSPointerFunctionsOptions, valueOptions valueOptions: NSPointerFunctionsOptions) -> NSMapTable

    Objective C

    + (NSMapTable *)mapTableWithKeyOptions:(NSPointerFunctionsOptions)keyOptions valueOptions:(NSPointerFunctionsOptions)valueOptions

    Параметры

    keyOptions

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

    valueOptions

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

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

    Новая таблица карты, инициализированная с данными опциями.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает таблицу карты, инициализированную с заданными функциями.

    Объявление

    Swift

    init(keyPointerFunctions keyFunctions: NSPointerFunctions, valuePointerFunctions valueFunctions: NSPointerFunctions, capacity initialCapacity: Int)

    Objective C

    - (instancetype)initWithKeyPointerFunctions:(NSPointerFunctions *)keyFunctions valuePointerFunctions:(NSPointerFunctions *)valueFunctions capacity:(NSUInteger)initialCapacity

    Параметры

    keyFunctions

    Функции табличное использование карты для управления ключами.

    valueFunctions

    Функции табличное использование карты для управления значениями.

    initialCapacity

    Начальная способность таблицы карты. Это - просто подсказка; таблица карты может впоследствии расти и уменьшиться как требуется.

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

    Таблица карты, инициализированная с заданными функциями.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает новый объект таблицы карты, имеющий сильные ссылки к ключам и значениям.

    Объявление

    Swift

    class func strongToStrongObjectsMapTable() -> NSMapTable

    Objective C

    + (NSMapTable *)strongToStrongObjectsMapTable

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

    Новый объект таблицы карты, имеющий сильные ссылки к ключам и значениям.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает новый объект таблицы карты, имеющий слабые ссылки на ключи и сильные ссылки к значениям.

    Объявление

    Swift

    class func weakToStrongObjectsMapTable() -> NSMapTable

    Objective C

    + (NSMapTable *)weakToStrongObjectsMapTable

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

    Новый объект таблицы карты, имеющий слабые ссылки на ключи и сильные ссылки к значениям.

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает новый объект таблицы карты, имеющий сильные ссылки к ключам и слабые ссылки на значения.

    Объявление

    Swift

    class func strongToWeakObjectsMapTable() -> NSMapTable

    Objective C

    + (NSMapTable *)strongToWeakObjectsMapTable

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

    Новый объект таблицы карты, имеющий сильные ссылки к ключам и слабые ссылки на значения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает новый объект таблицы карты, имеющий слабые ссылки на ключи и значения.

    Объявление

    Swift

    class func weakToWeakObjectsMapTable() -> NSMapTable

    Objective C

    + (NSMapTable *)weakToWeakObjectsMapTable

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

    Новый объект таблицы карты, имеющий слабые ссылки на ключи и значения.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Возвращает значение, связанное с данным ключом.

    Объявление

    Swift

    func objectForKey(_ aKey: AnyObject) -> AnyObject?

    Objective C

    - (id)objectForKey:(id)aKey

    Параметры

    aKey

    Ключ, для которого можно возвратить соответствующее значение.

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

    Значение связалось с aKey, или nil если никакое значение не связано с aKey.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func keyEnumerator() -> NSEnumerator

    Objective C

    - (NSEnumerator *)keyEnumerator

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

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

    Обсуждение

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

    • NSEnumerator *enumerator = [myMapTable keyEnumerator];
    • id value;
    • while ((value = [enumerator nextObject])) {
    • /* code that acts on the map table's keys */
    • }

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func objectEnumerator() -> NSEnumerator

    Objective C

    - (NSEnumerator *)objectEnumerator

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

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

    Обсуждение

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

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

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

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

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

    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 setObject(_ anObject: AnyObject, forKey aKey: AnyObject)

    Objective C

    - (void)setObject:(id)anObject forKey:(id)aKey

    Параметры

    anObject

    Значение для aKey. Это значение не должно быть nil.

    aKey

    Ключ для anObject. Это значение не должно быть nil.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Удаляет данный ключ и его присваиваемое значение от таблицы карты.

    Объявление

    Swift

    func removeObjectForKey(_ aKey: AnyObject)

    Objective C

    - (void)removeObjectForKey:(id)aKey

    Параметры

    aKey

    Ключ для удаления.

    Обсуждение

    Ничего не делает если aKey не существует.

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

    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 dictionaryRepresentation() -> [NSObject : AnyObject]

    Objective C

    - (NSDictionary *)dictionaryRepresentation

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

    Представление словаря таблицы карты.

    Обсуждение

    Значения таблицы карты и ключи должны соответствовать всем требованиям, указанным в setObject:forKey: в NSMutableDictionary.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Указатель функционирует табличное использование карты для управления ключами. (только для чтения)

    Объявление

    Swift

    @NSCopying var keyPointerFunctions: NSPointerFunctions { get }

    Objective C

    @property(readonly, copy) NSPointerFunctions *keyPointerFunctions

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – valuePointerFunctions

  • Указатель функционирует табличное использование карты для управления значениями. (только для чтения)

    Объявление

    Swift

    @NSCopying var valuePointerFunctions: NSPointerFunctions { get }

    Objective C

    @property(readonly, copy) NSPointerFunctions *valuePointerFunctions

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – keyPointerFunctions

  • Возвращает новый объект таблицы карты, имеющий сильные ссылки к ключам и значениям.

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

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

    Объявление

    Objective C

    + (id)mapTableWithStrongToStrongObjects

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

    Новый объект таблицы карты, имеющий сильные ссылки к ключам и значениям.

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

    Objective C

    @import Foundation;

    Доступность

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

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

  • Возвращает новый объект таблицы карты, имеющий слабые ссылки на ключи и сильные ссылки к значениям.

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

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

    Объявление

    Objective C

    + (id)mapTableWithWeakToStrongObjects

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

    Новый объект таблицы карты, имеющий слабые ссылки на ключи и сильные ссылки к значениям.

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

    NSMapTable создаваемое использование объектов этого метода не поддерживает слабые ссылки под Automatic Reference Counting (ARC).

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

    Objective C

    @import Foundation;

    Доступность

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

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

  • Возвращает новый объект таблицы карты, имеющий сильные ссылки к ключам и слабые ссылки на значения.

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

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

    Объявление

    Objective C

    + (id)mapTableWithStrongToWeakObjects

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

    Новый объект таблицы карты, имеющий сильные ссылки к ключам и слабые ссылки на значения.

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

    NSMapTable создаваемое использование объектов этого метода не поддерживает слабые ссылки под Automatic Reference Counting (ARC).

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

    Objective C

    @import Foundation;

    Доступность

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

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

  • Возвращает новый объект таблицы карты, имеющий слабые ссылки на ключи и значения.

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

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

    Объявление

    Objective C

    + (id)mapTableWithWeakToWeakObjects

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

    Новый объект таблицы карты, имеющий слабые ссылки на ключи и значения.

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

    NSMapTable создаваемое использование объектов этого метода не поддерживает слабые ссылки под Automatic Reference Counting (ARC).

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

    Objective C

    @import Foundation;

    Доступность

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

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

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

    Объявление

    Swift

    typealias NSMapTableOptions = Int

    Objective C

    enum { NSMapTableStrongMemory = 0, NSMapTableZeroingWeakMemory = NSPointerFunctionsZeroingWeakMemory, NSMapTableCopyIn = NSPointerFunctionsCopyIn, NSMapTableObjectPointerPersonality = NSPointerFunctionsObjectPointerPersonality, NSMapTableWeakMemory = NSPointerFunctionsWeakMemory }; typedef NSUInteger NSMapTableOptions;

    Константы

    • NSMapTableStrongMemory

      NSMapTableStrongMemory

      Указывает сильную ссылку от таблицы карты до ее содержания.

      Равный NSPointerFunctionsStrongMemory.

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

    • NSMapTableZeroingWeakMemory

      NSMapTableZeroingWeakMemory

      Указывает слабую ссылку обнуления от таблицы карты до ее содержания. Эта опция была осуждена. Эта опция была заменена NSMapTableWeakMemory опция, вызывающая обнуляющее слабое поведение при подсчете ссылки на руководство, автоматическом подсчете ссылок и сборке «мусора».

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

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

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

    • NSMapTableCopyIn

      NSMapTableCopyIn

      Использование память получает функцию, чтобы выделить и скопировать элементы на вводе (см. acquireFunction [NSPointerFunctions]).

      Равный NSPointerFunctionsCopyIn.

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

    • NSMapTableObjectPointerPersonality

      NSMapTableObjectPointerPersonality

      Используйте смещенный хеш указателя и прямое равенство, описание объекта.

      Равный NSPointerFunctionsObjectPointerPersonality.

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

    • NSMapTableWeakMemory

      NSMapTableWeakMemory

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

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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