NSKeyValueObserving
NSKeyValueObserving
Неофициальный протокол (KVO) определяет механизм, позволяющий объектам быть уведомленными относительно изменений в указанных свойствах других объектов.
Можно наблюдать любые свойства объектов включая простые атрибуты, к - отношения, и к - много отношений. Наблюдатели к - многим отношениям сообщают о типе внесенного изменения — а также какие объекты вовлечены в изменение.
NSObject
обеспечивает реализацию NSKeyValueObserving
протокол, обеспечивающий автоматическую возможность наблюдения всех объектов. Можно далее совершенствовать уведомления путем отключения автоматических уведомлений наблюдателя и реализации ручных уведомлений с помощью методов в этом протоколе.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.3 и позже.
-
observeValueForKeyPath (_: ofObject:change:context:) - observeValueForKeyPath:ofObject:change:context:
Когда значение в указанном ключевом пути относительно данного объекта изменилось, это сообщение отправляется в получатель.
Объявление
Swift
func observeValueForKeyPath(_
keyPath
: String, ofObjectobject
: AnyObject, changechange
: [NSObject : AnyObject], contextcontext
: 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, forKeyPathkeyPath
: String, optionsoptions
: NSKeyValueObservingOptions, contextcontext
: 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 и позже.
См. также
-
Мешает данному объекту получить уведомления изменения для свойства, указанного данным ключевым путем относительно получателя.
Объявление
Параметры
anObserver
Объект удалить как наблюдатель.
keyPath
Ключевой путь тот, относительно получателя, для который
anObserver
регистрируется для получения уведомлений изменения KVO.Обсуждение
Это - ошибка вызвать
removeObserver:forKeyPath:
если объект не был зарегистрирован как наблюдатель.Обязательно вызовите этот метод (или
removeObserver:forKeyPath:context:
) перед любым объектом, указанным вaddObserver:forKeyPath:options:context:
освобожден.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Мешает данному объекту получить уведомления изменения для свойства, указанного данным ключевым путем относительно получателя и контекста.
Объявление
Параметры
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, valuesAtIndexesindexes
: NSIndexSet, forKeykey
: 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, valuesAtIndexesindexes
: NSIndexSet, forKeykey
: 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 и позже.
-
willChangeValueForKey (_: withSetMutation:usingObjects:) - willChangeValueForKey:withSetMutation:usingObjects:
Вызванный, чтобы сообщить получателю, что указанное изменение собирается быть внесенным в указанное, неупорядоченное - многие отношение.
Объявление
Swift
func willChangeValueForKey(_
key
: String, withSetMutationmutationKind
: NSKeyValueSetMutationKind, usingObjectsobjects
: 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 и позже.
-
didChangeValueForKey (_: withSetMutation:usingObjects:) - didChangeValueForKey:withSetMutation:usingObjects:
Вызванный, чтобы сообщить получателю, что указанное изменение было внесено в указанное, неупорядоченное - многие отношение.
Объявление
Swift
func didChangeValueForKey(_
key
: String, withSetMutationmutationKind
: NSKeyValueSetMutationKind, usingObjectsobjects
: 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) -> BoolObjective C
+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)
key
Возвращаемое значение
YES
true
если машинное оборудование наблюдения значения ключа должно автоматически вызватьwillChangeValueForKey:
/didChangeValueForKey:
иwillChange:valuesAtIndexes:forKey:
/didChange:valuesAtIndexes:forKey:
каждый раз, когда экземпляры класса получают сообщения кодирования значения ключа дляkey
, или видоизменение ключевого значения, кодирующего совместимые методы дляkey
вызываются; иначеNO
false
.Обсуждение
Возвраты реализации по умолчанию
YES
true
. Запускаясь в OS X 10.5, реализация по умолчанию этого метода ищет класс получения метод, имя которого соответствует образец+automaticallyNotifiesObserversOf<Key>
, и возвращает результат вызова того метода, если это найдено. Любые найденные методы должны возвратитьсяBOOL
. Если не найден никакой такой методYES
true
возвращается.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.3 и позже.
-
Ряд возвратов ключа соединяет каналом для свойств, значения которых влияют на значение указанного ключа.
Объявление
Параметры
key
Ключ, значение которого затронуто ключевыми путями.
Возвращаемое значение
Обсуждение
Когда наблюдатель для ключа регистрируется в экземпляре класса получения, значение ключа, наблюдая себя автоматически наблюдает все ключевые пути для того же экземпляра и отправляет уведомления изменения за ключом наблюдателю, когда значение для любого из тех ключ соединяет изменения каналом.
Реализация по умолчанию этого метода ищет класс получения метод, имя которого соответствует образец
+keyPathsForValuesAffecting<Key>
, и возвращает результат вызова того метода, если это найдено. Любой такой метод должен возвратить NSSet. Если никакой такой метод не найден, NSSet, вычисленный из информации, предоставленной предыдущими вызовами теперь осуждаемогоsetKeys:triggerChangeNotificationsForDependentKey:
метод возвращается для обратной совместимости на уровне двоичных кодов.Можно переопределить этот метод, когда метод получателя одного из свойств вычисляет значение для возврата использования значений других свойств, включая тех, которые расположены ключевыми путями. Ваше переопределение должно обычно вызывать супер и возвращать набор, включающий любые элементы в набор, следующие из выполнения этого (чтобы не вмешаться в переопределения этого метода в суперклассах).
Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.5 и позже.
-
setKeys:triggerChangeNotificationsForDependentKey: + setKeys:triggerChangeNotificationsForDependentKey:
(OS X v10.5) и позжеЕсли какое-либо из свойств, указанных в данном массиве, изменяется, конфигурирует получатель для регистрации уведомлений изменения для данного свойства.
Оператор осуждения
Необходимо использовать метод
keyPathsForValuesAffectingValueForKey:
вместо этого.Объявление
Параметры
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 и позже.
См. также
-
Возвращает указатель, идентифицирующий информацию обо всех наблюдателях, регистрирующихся в получателе.
Объявление
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 и позже.
См. также
-
Эти константы возвращаются как значение для 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(rawValuerawValue
: 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
указывает, что наблюдаемый объект получил asetValue: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
обертываниеYES
true
.Доступный в OS X v10.5 и позже.
-
-
Эти константы указаны как параметр к методам
willChangeValueForKey:withSetMutation:usingObjects:
иdidChangeValueForKey:withSetMutation:usingObjects:
. Их семантика соответствует точно методам класса NSMutableSetunionSet:
,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 и позже.
-