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 *)keyPathofObject:(id)objectchange:(NSDictionary *)changecontext:(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 *)anObserverforKeyPath:(NSString *)keyPathoptions:(NSKeyValueObservingOptions)optionscontext:(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)changevaluesAtIndexes:(NSIndexSet *)indexesforKey:(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)changevaluesAtIndexes:(NSIndexSet *)indexesforKey:(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 *)keywithSetMutation:(NSKeyValueSetMutationKind)mutationKindusingObjects:(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 *)keywithSetMutation:(NSKeyValueSetMutationKind)mutationKindusingObjects:(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Возвращаемое значение
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 и позже.
-
Ряд возвратов ключа соединяет каналом для свойств, значения которых влияют на значение указанного ключа.
Объявление
Параметры
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;Константы
-
SettingNSKeyValueChangeSettingУказывает, что значение наблюдаемого ключевого пути было установлено в новое значение. Это изменение может произойти при наблюдении атрибута объекта, а также свойств, указывающих к - один и к - много отношений.
Доступный в OS X v10.3 и позже.
-
InsertionNSKeyValueChangeInsertionУказывает, что объект был вставлен в в - многие наблюдающееся отношение.
Доступный в OS X v10.3 и позже.
-
RemovalNSKeyValueChangeRemovalУказывает, что объект был удален от до - многие наблюдающееся отношение.
Доступный в OS X v10.3 и позже.
-
ReplacementNSKeyValueChangeReplacementУказывает, что объект был заменен в к - многие наблюдающееся отношение.
Доступный в 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;Константы
-
NewNSKeyValueObservingOptionNewУказывает, что словарь изменения должен обеспечить новое значение атрибута, если применимо.
Доступный в OS X v10.3 и позже.
-
OldNSKeyValueObservingOptionOldУказывает, что словарь изменения должен содержать старое значение атрибута, если применимо.
Доступный в OS X v10.3 и позже.
-
InitialNSKeyValueObservingOptionInitialЕсли указано, уведомление должно быть сразу отправлено наблюдателю, прежде чем даже возвратится регистрационный метод наблюдателя.
Словарь изменения в уведомлении будет всегда содержать
NSKeyValueChangeNewKeyзапись, еслиNSKeyValueObservingOptionNewтакже указан, но никогда не будет содержатьNSKeyValueChangeOldKeyзапись. (В первоначальном уведомлении текущая стоимость наблюдаемого свойства может быть старой, но это в новинку для наблюдателя.) Можно использовать эту опцию вместо явного вызова, одновременно, код, также вызывающийся наблюдателемobserveValueForKeyPath:ofObject:change:context:метод. Когда эта опция используется сaddObserver:forKeyPath:options:context:уведомление будет отправлено за каждым индексируемым объектом, к которому добавляется наблюдатель.Доступный в OS X v10.5 и позже.
-
PriorNSKeyValueObservingOptionPriorДолжны ли отдельные уведомления быть отправлены наблюдателю прежде и после каждого изменения вместо единственного уведомления после изменения.
Словарь изменения в уведомлении, отправленном перед изменением всегда, содержит
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;Константы
-
NSKeyValueChangeKindKeyNSKeyValueChangeKindKeyNSNumberобъект, содержащий значение, соответствующее одному из перечислений NSKeyValueChange, указывая, какое изменение произошло.Значение
NSKeyValueChangeSettingуказывает, что наблюдаемый объект получил asetValue:forKey:сообщение, или что ключевое значение, кодирующее совместимый метод установки для ключа, было вызвано, или что один изwillChangeValueForKey:илиdidChangeValueForKey:методы были иначе вызваны.Значение
NSKeyValueChangeInsertion,NSKeyValueChangeRemoval, илиNSKeyValueChangeReplacementуказывает, что видоизменяющиеся сообщения были отправлены значение ключа, наблюдая совместимый прокси набора, или что одно из ключевого значения, кодирующего совместимые методы мутации набора для ключа, было вызвано, или набор изменится или действительно изменялся, метод иначе был вызван.Можно использовать
NSNumberintValueметод для получения целочисленного значения вида изменения.Доступный в OS X v10.3 и позже.
-
NSKeyValueChangeNewKeyNSKeyValueChangeNewKeyЕсли значение
NSKeyValueChangeKindKeyзаписьNSKeyValueChangeSetting, иNSKeyValueObservingOptionNewбыл указан, когда наблюдатель был зарегистрирован, значение этого ключа является новым значением для атрибута.Для
NSKeyValueChangeInsertionилиNSKeyValueChangeReplacement, еслиNSKeyValueObservingOptionNewбыл указан, когда наблюдатель был зарегистрирован, значение для этого ключаNSArrayэкземпляр, содержащий объекты, вставленные или заменившие другие объекты, соответственно.Доступный в OS X v10.3 и позже.
-
NSKeyValueChangeOldKeyNSKeyValueChangeOldKeyЕсли значение
NSKeyValueChangeKindKeyзаписьNSKeyValueChangeSetting, иNSKeyValueObservingOptionOldбыл указан, когда наблюдатель был зарегистрирован, значение этого ключа является значением, прежде чем был изменен атрибут.Для
NSKeyValueChangeRemovalилиNSKeyValueChangeReplacement, еслиNSKeyValueObservingOptionOldбыл указан, когда наблюдатель был зарегистрирован, значениеNSArrayэкземпляр, содержащий объекты, удаленные или замененные другими объектами, соответственно.Доступный в OS X v10.3 и позже.
-
NSKeyValueChangeIndexesKeyNSKeyValueChangeIndexesKeyЕсли значение
NSKeyValueChangeKindKeyзаписьNSKeyValueChangeInsertion,NSKeyValueChangeRemoval, илиNSKeyValueChangeReplacement, значение этого ключаNSIndexSetобъект, содержащий индексы вставленных, удаленных, или замененных объектов.Доступный в OS X v10.3 и позже.
-
NSKeyValueChangeNotificationIsPriorKeyNSKeyValueChangeNotificationIsPriorKeyЕсли опция
NSKeyValueObservingOptionPriorбыл указан, когда наблюдатель был зарегистрирован, это уведомление отправляется до изменения.Словарь изменения содержит
NSKeyValueChangeNotificationIsPriorKeyзапись, значение которойNSNumberобертываниеYEStrue.Доступный в 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;Константы
-
UnionSetMutationNSKeyValueUnionSetMutationУказывает, что объекты в указанном наборе добавляются к получателю.
Этот вид мутации приводит к a
NSkeyValueChangeKindKeyзначениеNSKeyValueChangeInsertion.Доступный в OS X v10.4 и позже.
-
MinusSetMutationNSKeyValueMinusSetMutationУказывает, что объекты в указанном наборе удаляются из получателя.
Этот вид мутации приводит к a
NSkeyValueChangeKindKeyзначениеNSKeyValueChangeRemoval.Доступный в OS X v10.4 и позже.
-
IntersectSetMutationNSKeyValueIntersectSetMutationУказывает, что объекты не в указанном наборе удаляются из получателя.
Этот вид мутации приводит к a
NSkeyValueChangeKindKeyзначениеNSKeyValueChangeRemoval.Доступный в OS X v10.4 и позже.
-
SetSetMutationNSKeyValueSetSetMutationУказывает, что набор объектов заменяет существующие объекты в получателе.
Этот вид мутации приводит к a
NSKeyValueChangeKindKeyзначениеNSKeyValueChangeReplacement.Доступный в OS X v10.4 и позже.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
