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

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

Разработчик

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

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

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

NSKeyValueObserving

NSKeyValueObserving Неофициальный протокол (KVO) определяет механизм, позволяющий объектам быть уведомленными относительно изменений в указанных свойствах других объектов.

Можно наблюдать любые свойства объектов включая простые атрибуты, к - отношения, и к - много отношений. Наблюдатели к - многим отношениям сообщают о типе внесенного изменения — а также какие объекты вовлечены в изменение.

NSObject обеспечивает реализацию NSKeyValueObserving протокол, обеспечивающий автоматическую возможность наблюдения всех объектов. Можно далее совершенствовать уведомления путем отключения автоматических уведомлений наблюдателя и реализации ручных уведомлений с помощью методов в этом протоколе.

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


Не применимый

Соответствует


Не применимый

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


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.3 и позже.
  • Когда значение в указанном ключевом пути относительно данного объекта изменилось, это сообщение отправляется в получатель.

    Объявление

    Swift

    func observeValueForKeyPath(_ keyPath: String, ofObject object: AnyObject, change change: [NSObject : AnyObject], context context: UnsafeMutablePointer<Void>)

    Objective C

    - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

    Параметры

    keyPath

    Ключевой путь, относительно object, к изменившемуся значению.

    object

    Исходный объект ключевого пути keyPath.

    change

    Словарь, описывающий изменения, внесенные в значение свойства в ключевом пути keyPath относительно object. Записи описаны в Ключах Словаря Изменения.

    context

    Значение, которое было предоставлено, когда получатель был зарегистрирован для получения уведомлений наблюдения значения ключа.

    Обсуждение

    Получатель должен быть зарегистрирован как наблюдатель для указанного keyPath и object.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Регистры anObserver получить уведомления KVO для указанного ключевого пути относительно получателя.

    Объявление

    Swift

    func addObserver(_ anObserver: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions, context context: UnsafeMutablePointer<Void>)

    Objective C

    - (void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context

    Параметры

    anObserver

    Объект зарегистрироваться для уведомлений KVO. Наблюдатель должен реализовать метод наблюдения значения ключа observeValueForKeyPath:ofObject:change:context:.

    keyPath

    Ключевой путь, относительно получателя, свойства для наблюдения. Это значение не должно быть nil.

    options

    Комбинация NSKeyValueObservingOptions значения, который указывает то, что включено в уведомления наблюдения. Для возможных значений посмотрите NSKeyValueObservingOptions.

    context

    Произвольные данные, передающиеся anObserver в observeValueForKeyPath:ofObject:change:context:.

    Обсуждение

    Ни получатель, ни anObserver, сохраняются. Объект, вызывающий этот метод, должен также вызвать любого removeObserver:forKeyPath: или removeObserver:forKeyPath:context: метод при участии в KVO.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Мешает данному объекту получить уведомления изменения для свойства, указанного данным ключевым путем относительно получателя.

    Объявление

    Swift

    func removeObserver(_ anObserver: NSObject, forKeyPath keyPath: String)

    Objective C

    - (void)removeObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath

    Параметры

    anObserver

    Объект удалить как наблюдатель.

    keyPath

    Ключевой путь тот, относительно получателя, для который anObserver регистрируется для получения уведомлений изменения KVO.

    Обсуждение

    Это - ошибка вызвать removeObserver:forKeyPath: если объект не был зарегистрирован как наблюдатель.

    Обязательно вызовите этот метод (или removeObserver:forKeyPath:context:) перед любым объектом, указанным в addObserver:forKeyPath:options:context: освобожден.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Мешает данному объекту получить уведомления изменения для свойства, указанного данным ключевым путем относительно получателя и контекста.

    Объявление

    Swift

    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutablePointer<Void>)

    Objective C

    - (void)removeObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath context:(void *)context

    Параметры

    observer

    Объект удалить как наблюдатель.

    keyPath

    Ключевой путь тот, относительно получателя, для который anObserver регистрируется для получения уведомлений изменения KVO.

    context

    Произвольные данные, более в частности идентифицирующие наблюдателя, чтобы быть удаленными.

    Обсуждение

    Исследование значения в context Вы в состоянии определить точно который addObserver:forKeyPath:options:context: вызов использовался для создания отношения наблюдения. Когда тот же наблюдатель регистрируется для того же ключевого пути многократно, но с различными указателями контекста, приложение может определить в частности который объект прекратить наблюдать. Это - ошибка вызвать removeObserver:forKeyPath:context: если объект не был зарегистрирован как наблюдатель.

    Обязательно вызовите этот метод (или removeObserver:forKeyPath:) перед любым объектом, указанным в addObserver:forKeyPath:options:context: освобожден.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func willChangeValueForKey(_ key: String)

    Objective C

    - (void)willChangeValueForKey:(NSString *)key

    Параметры

    key

    Имя свойства, которое изменится.

    Обсуждение

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

    Тип изменения этого метода NSKeyValueChangeSetting.

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

    Вы не должны переопределять этот метод в подклассах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func didChangeValueForKey(_ key: String)

    Objective C

    - (void)didChangeValueForKey:(NSString *)key

    Параметры

    key

    Имя изменившегося свойства.

    Обсуждение

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

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

    Вы не должны переопределять этот метод в подклассах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func willChange(_ change: NSKeyValueChange, valuesAtIndexes indexes: NSIndexSet, forKey key: String)

    Objective C

    - (void)willChange:(NSKeyValueChange)change valuesAtIndexes:(NSIndexSet *)indexes forKey:(NSString *)key

    Параметры

    change

    Тип изменения, собирающегося быть сделанным.

    indexes

    Индексы к - многие отношение, которое будет затронуто изменением.

    key

    Имя свойства, которое является упорядоченным - многие отношение.

    Обсуждение

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

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

    Вы не должны переопределять этот метод в подклассах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func didChange(_ change: NSKeyValueChange, valuesAtIndexes indexes: NSIndexSet, forKey key: String)

    Objective C

    - (void)didChange:(NSKeyValueChange)change valuesAtIndexes:(NSIndexSet *)indexes forKey:(NSString *)key

    Параметры

    change

    Тип внесенного изменения.

    indexes

    Индексы к - многие отношение, которые были затронуты изменением.

    key

    Имя свойства, которое является упорядоченным - многие отношение.

    Обсуждение

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

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

    Вы не должны переопределять этот метод в подклассах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func willChangeValueForKey(_ key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, usingObjects objects: NSSet)

    Objective C

    - (void)willChangeValueForKey:(NSString *)key withSetMutation:(NSKeyValueSetMutationKind)mutationKind usingObjects:(NSSet *)objects

    Параметры

    key

    Имя свойства, которое является неупорядоченным к - многие отношение

    mutationKind

    Тип изменения, которое будет внесено.

    objects

    Объекты, вовлеченные в изменение (см. NSKeyValueSetMutationKind).

    Обсуждение

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

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

    Вы не должны переопределять этот метод в подклассах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    func didChangeValueForKey(_ key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, usingObjects objects: NSSet)

    Objective C

    - (void)didChangeValueForKey:(NSString *)key withSetMutation:(NSKeyValueSetMutationKind)mutationKind usingObjects:(NSSet *)objects

    Параметры

    key

    Имя свойства, которое является неупорядоченным к - многие отношение

    mutationKind

    Тип внесенного изменения.

    objects

    Объекты, вовлеченные в изменение (см. NSKeyValueSetMutationKind).

    Обсуждение

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

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

    Вы не должны переопределять этот метод в подклассах.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

    Объявление

    Swift

    class func automaticallyNotifiesObserversForKey(_ key: String) -> Bool

    Objective C

    + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key

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

    YEStrue если машинное оборудование наблюдения значения ключа должно автоматически вызвать willChangeValueForKey:/didChangeValueForKey: и willChange:valuesAtIndexes:forKey:/didChange:valuesAtIndexes:forKey: каждый раз, когда экземпляры класса получают сообщения кодирования значения ключа для key, или видоизменение ключевого значения, кодирующего совместимые методы для key вызываются; иначе NOfalse.

    Обсуждение

    Возвраты реализации по умолчанию YEStrue. Запускаясь в OS X 10.5, реализация по умолчанию этого метода ищет класс получения метод, имя которого соответствует образец +automaticallyNotifiesObserversOf<Key>, и возвращает результат вызова того метода, если это найдено. Любые найденные методы должны возвратиться BOOL. Если не найден никакой такой метод YEStrue возвращается.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Ряд возвратов ключа соединяет каналом для свойств, значения которых влияют на значение указанного ключа.

    Объявление

    Swift

    class func keyPathsForValuesAffectingValueForKey(_ key: String) -> NSSet

    Objective C

    + (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key

    Параметры

    key

    Ключ, значение которого затронуто ключевыми путями.

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

    Обсуждение

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

    Реализация по умолчанию этого метода ищет класс получения метод, имя которого соответствует образец +keyPathsForValuesAffecting<Key>, и возвращает результат вызова того метода, если это найдено. Любой такой метод должен возвратить NSSet. Если никакой такой метод не найден, NSSet, вычисленный из информации, предоставленной предыдущими вызовами теперь осуждаемого setKeys:triggerChangeNotificationsForDependentKey: метод возвращается для обратной совместимости на уровне двоичных кодов.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

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

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

    Необходимо использовать метод keyPathsForValuesAffectingValueForKey: вместо этого.

    Объявление

    Objective C

    + (void)setKeys:(NSArray *)keys triggerChangeNotificationsForDependentKey:(NSString *)dependentKey

    Параметры

    keys

    Имена те, свойств, на который значение свойства, идентифицированного dependentKey зависит.

    dependentKey

    Имя свойства, значение которого зависит от свойств, указанных keys.

    Обсуждение

    Вызовы желания - и-изменение методы уведомления KVO для любого ключа keys автоматически вызовет соответствующие методы уведомления изменения для dependentKey. Получатель не получит willChange/didChange сообщения для генерации уведомлений.

    Зависимости должны быть зарегистрированы, прежде чем любые экземпляры класса получения создаются, таким образом, Вы обычно вызываете этот метод в классе initialize метод, как проиллюстрировано в следующем примере.

    • + (void)initialize
    • {
    • [self setKeys:[NSArray arrayWithObjects:@"firstName", @"lastName", nil]
    • triggerChangeNotificationsForDependentKey:@"fullName"];
    • }

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

    Objective C

    @import Foundation;

    Доступность

    Осуждаемый в OS X v10.5 и позже.

  • Устанавливает информацию наблюдения для получателя.

    Объявление

    Swift

    var observationInfo: UnsafeMutablePointer<Void>

    Objective C

    @property void *observationInfo

    Параметры

    observationInfo

    Информация наблюдения для получателя.

    Обсуждение

    observationInfo указатель, идентифицирующий информацию обо всех наблюдателях, регистрирующихся в получателе. Реализация по умолчанию этого метода хранилища observationInfo в глобальном словаре, включенном указателями получателя.

    Для улучшенной производительности, этого метода и observationInfo может быть переопределен для хранения непрозрачного указателя данных в переменной экземпляра. Классы, переопределяющие этот метод, не должны пытаться отправить сообщения Objective C в observationInfo, включая retain и release.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – observationInfo

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

    Объявление

    Swift

    var observationInfo: UnsafeMutablePointer<Void>

    Objective C

    @property void *observationInfo

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

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

    Обсуждение

    Реализация по умолчанию этого метода получает информацию из глобального словаря, включенного указателями получателя.

    Для улучшенной производительности, этого метода и setObservationInfo: может быть переопределен для хранения непрозрачного указателя данных в переменной экземпляра. Переопределения этого метода не должны пытаться отправить сообщения Objective C в хранившие данные, включая retain и release.

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

    См. также

    – setObservationInfo:

  • Эти константы возвращаются как значение для a NSKeyValueChangeKindKey введите словарь изменения, переданный observeValueForKeyPath:ofObject:change:context: указание типа изменения сделало:

    Объявление

    Swift

    enum NSKeyValueChange : UInt { case Setting case Insertion case Removal case Replacement }

    Objective C

    enum { NSKeyValueChangeSetting = 1, NSKeyValueChangeInsertion = 2, NSKeyValueChangeRemoval = 3, NSKeyValueChangeReplacement = 4 }; typedef NSUInteger NSKeyValueChange;

    Константы

    • Setting

      NSKeyValueChangeSetting

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

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

    • Insertion

      NSKeyValueChangeInsertion

      Указывает, что объект был вставлен в в - многие наблюдающееся отношение.

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

    • Removal

      NSKeyValueChangeRemoval

      Указывает, что объект был удален от до - многие наблюдающееся отношение.

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

    • Replacement

      NSKeyValueChangeReplacement

      Указывает, что объект был заменен в к - многие наблюдающееся отношение.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Эти константы передаются addObserver:forKeyPath:options:context: и определите значения, возвращающиеся, поскольку часть словаря изменения передала observeValueForKeyPath:ofObject:change:context:. Можно передать 0 если Вы не требуете никаких значений словаря изменения.

    Объявление

    Swift

    struct NSKeyValueObservingOptions : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var New: NSKeyValueObservingOptions { get } static var Old: NSKeyValueObservingOptions { get } static var Initial: NSKeyValueObservingOptions { get } static var Prior: NSKeyValueObservingOptions { get } }

    Objective C

    enum { NSKeyValueObservingOptionNew = 0x01, NSKeyValueObservingOptionOld = 0x02, NSKeyValueObservingOptionInitial = 0x04, NSKeyValueObservingOptionPrior = 0x08 }; typedef NSUInteger NSKeyValueObservingOptions;

    Константы

    • New

      NSKeyValueObservingOptionNew

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

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

    • Old

      NSKeyValueObservingOptionOld

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

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

    • Initial

      NSKeyValueObservingOptionInitial

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

      Словарь изменения в уведомлении будет всегда содержать NSKeyValueChangeNewKey запись, если NSKeyValueObservingOptionNew также указан, но никогда не будет содержать NSKeyValueChangeOldKey запись. (В первоначальном уведомлении текущая стоимость наблюдаемого свойства может быть старой, но это в новинку для наблюдателя.) Можно использовать эту опцию вместо явного вызова, одновременно, код, также вызывающийся наблюдателем observeValueForKeyPath:ofObject:change:context: метод. Когда эта опция используется сaddObserver:forKeyPath:options:context: уведомление будет отправлено за каждым индексируемым объектом, к которому добавляется наблюдатель.

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

    • Prior

      NSKeyValueObservingOptionPrior

      Должны ли отдельные уведомления быть отправлены наблюдателю прежде и после каждого изменения вместо единственного уведомления после изменения.

      Словарь изменения в уведомлении, отправленном перед изменением всегда, содержит NSKeyValueChangeNotificationIsPriorKey запись, значение которой [NSNumber numberWithBool:YES], но никогда не содержит NSKeyValueChangeNewKey запись. Когда эта опция указана словарь изменения в уведомлении, отправленном после того, как изменение содержит те же записи, которые это содержало бы, если бы не была указана эта опция. Можно использовать эту опцию, когда собственное соответствие наблюдения значения ключа наблюдателя требует, чтобы он вызвал один из -willChange... методы для одного из его собственных свойств и значения того свойства зависят от значения свойства наблюдаемого объекта. (В той ситуации слишком поздно для простого вызова -willChange... должным образом в ответ на получение observeValueForKeyPath:ofObject:change:context: сообщение после изменения.)

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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

  • Эти константы используются в качестве ключей в словаре изменения, переданном observeValueForKeyPath:ofObject:change:context:.

    Объявление

    Swift

    let NSKeyValueChangeKindKey: NSString! let NSKeyValueChangeNewKey: NSString! let NSKeyValueChangeOldKey: NSString! let NSKeyValueChangeIndexesKey: NSString! let NSKeyValueChangeNotificationIsPriorKey: NSString!

    Objective C

    NSString *const NSKeyValueChangeKindKey; NSString *const NSKeyValueChangeNewKey; NSString *const NSKeyValueChangeOldKey; NSString *const NSKeyValueChangeIndexesKey; NSString *const NSKeyValueChangeNotificationIsPriorKey;

    Константы

    • NSKeyValueChangeKindKey

      NSKeyValueChangeKindKey

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

      Значение NSKeyValueChangeSetting указывает, что наблюдаемый объект получил a setValue:forKey: сообщение, или что ключевое значение, кодирующее совместимый метод установки для ключа, было вызвано, или что один из willChangeValueForKey: или didChangeValueForKey: методы были иначе вызваны.

      Значение NSKeyValueChangeInsertion, NSKeyValueChangeRemoval, или NSKeyValueChangeReplacement указывает, что видоизменяющиеся сообщения были отправлены значение ключа, наблюдая совместимый прокси набора, или что одно из ключевого значения, кодирующего совместимые методы мутации набора для ключа, было вызвано, или набор изменится или действительно изменялся, метод иначе был вызван.

      Можно использовать NSNumber intValue метод для получения целочисленного значения вида изменения.

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

    • NSKeyValueChangeNewKey

      NSKeyValueChangeNewKey

      Если значение NSKeyValueChangeKindKey запись NSKeyValueChangeSetting, и NSKeyValueObservingOptionNew был указан, когда наблюдатель был зарегистрирован, значение этого ключа является новым значением для атрибута.

      Для NSKeyValueChangeInsertion или NSKeyValueChangeReplacement, если NSKeyValueObservingOptionNew был указан, когда наблюдатель был зарегистрирован, значение для этого ключа NSArray экземпляр, содержащий объекты, вставленные или заменившие другие объекты, соответственно.

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

    • NSKeyValueChangeOldKey

      NSKeyValueChangeOldKey

      Если значение NSKeyValueChangeKindKey запись NSKeyValueChangeSetting, и NSKeyValueObservingOptionOld был указан, когда наблюдатель был зарегистрирован, значение этого ключа является значением, прежде чем был изменен атрибут.

      Для NSKeyValueChangeRemoval или NSKeyValueChangeReplacement, если NSKeyValueObservingOptionOld был указан, когда наблюдатель был зарегистрирован, значение NSArray экземпляр, содержащий объекты, удаленные или замененные другими объектами, соответственно.

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

    • NSKeyValueChangeIndexesKey

      NSKeyValueChangeIndexesKey

      Если значение NSKeyValueChangeKindKey запись NSKeyValueChangeInsertion, NSKeyValueChangeRemoval, или NSKeyValueChangeReplacement, значение этого ключа NSIndexSet объект, содержащий индексы вставленных, удаленных, или замененных объектов.

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

    • NSKeyValueChangeNotificationIsPriorKey

      NSKeyValueChangeNotificationIsPriorKey

      Если опция NSKeyValueObservingOptionPrior был указан, когда наблюдатель был зарегистрирован, это уведомление отправляется до изменения.

      Словарь изменения содержит NSKeyValueChangeNotificationIsPriorKey запись, значение которой NSNumber обертывание YEStrue.

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

  • Эти константы указаны как параметр к методам willChangeValueForKey:withSetMutation:usingObjects: и didChangeValueForKey:withSetMutation:usingObjects:. Их семантика соответствует точно методам класса NSMutableSet unionSet:, minusSet:, intersectSet:, и setSet: метод, соответственно.

    Объявление

    Swift

    enum NSKeyValueSetMutationKind : UInt { case UnionSetMutation case MinusSetMutation case IntersectSetMutation case SetSetMutation }

    Objective C

    enum { NSKeyValueUnionSetMutation = 1, NSKeyValueMinusSetMutation = 2, NSKeyValueIntersectSetMutation = 3, NSKeyValueSetSetMutation = 4 }; typedef NSUInteger NSKeyValueSetMutationKind;

    Константы

    • UnionSetMutation

      NSKeyValueUnionSetMutation

      Указывает, что объекты в указанном наборе добавляются к получателю.

      Этот вид мутации приводит к a NSkeyValueChangeKindKey значение NSKeyValueChangeInsertion.

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

    • MinusSetMutation

      NSKeyValueMinusSetMutation

      Указывает, что объекты в указанном наборе удаляются из получателя.

      Этот вид мутации приводит к a NSkeyValueChangeKindKey значение NSKeyValueChangeRemoval.

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

    • IntersectSetMutation

      NSKeyValueIntersectSetMutation

      Указывает, что объекты не в указанном наборе удаляются из получателя.

      Этот вид мутации приводит к a NSkeyValueChangeKindKey значение NSKeyValueChangeRemoval.

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

    • SetSetMutation

      NSKeyValueSetSetMutation

      Указывает, что набор объектов заменяет существующие объекты в получателе.

      Этот вид мутации приводит к a NSKeyValueChangeKindKey значение NSKeyValueChangeReplacement.

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

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

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

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