NSKeyValueCoding
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в iOS 2.0 и позже.
NSKeyValueCoding неофициальный протокол определяет механизм, которым можно получить доступ к свойствам объекта косвенно по имени (или ключ), а не непосредственно через вызов метода доступа или как переменные экземпляра. Таким образом ко всем свойствам объекта можно получить доступ непротиворечивым способом.
Основные методы для доступа к значениям объекта setValue:forKey:, который устанавливает значение для свойства, идентифицированного указанным ключом, и valueForKey:, который возвращает значение для свойства, идентифицированного указанным ключом. Реализация по умолчанию использует методы доступа, обычно реализованные объектами (или к переменным экземпляра доступа непосредственно в случае необходимости).
-
Возвращает значение для свойства, идентифицированного данным ключом.
Объявление
Swift
func valueForKey(_key: String) -> AnyObject?Objective C
- (id)valueForKey:(NSString *)keyПараметры
keyИмя одного из свойств получателя.
Возвращаемое значение
Значение для свойства, идентифицированного
key.Обсуждение
Поисковый образец это
valueForKey:использование, чтобы найти, что правильное значение возвращается, описано в Подробных данных Реализации Поиска Средства доступа в Значении ключа, Кодирующем Руководство по программированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает значение для полученного свойства, идентифицированного данным ключевым путем.
Объявление
Swift
func valueForKeyPath(_keyPath: String) -> AnyObject?Objective C
- (id)valueForKeyPath:(NSString *)keyPathПараметры
keyPathКлючевой путь формы relationship.property (с одним или более отношениями); например, «department.name» или «department.manager.lastName».
Возвращаемое значение
Значение для полученного свойства, идентифицированного
keyPath.Обсуждение
Реализация по умолчанию получает целевой объект для каждого использования отношения
valueForKey:и возвращает результат avalueForKey:обменивайтесь сообщениями к конечному объекту.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает словарь, содержащий значения свойств, идентифицированные каждым из ключей в данном массиве.
Объявление
Swift
func dictionaryWithValuesForKeys(_keys: [AnyObject]) -> [NSObject : AnyObject]Objective C
- (NSDictionary *)dictionaryWithValuesForKeys:(NSArray *)keysПараметры
keysМассив, содержащий
NSStringобъекты, идентифицирующие свойства получателя.Возвращаемое значение
Словарь, содержащий, как включает имена свойства в
keys, с соответствующими значениями, являющимися соответствующими значениями свойств.Обсуждение
Реализация по умолчанию вызывает
valueForKey:для каждого ключаkeysи заменыNSNullзначения в словаре для возвращенногоnilзначения.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Вызванный
valueForKey:когда это не находит свойства, соответствующего данному ключу.Объявление
Swift
func valueForUndefinedKey(_key: String) -> AnyObject?Objective C
- (id)valueForUndefinedKey:(NSString *)keyПараметры
keyСтрока, которая не равна имени ни одного из свойств получателя.
Обсуждение
Подклассы могут переопределить этот метод для возврата альтернативного значения для неопределенных ключей. Реализация по умолчанию повышает
NSUndefinedKeyException.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает непостоянный прокси массива, обеспечивающий доступ для чтения-записи к упорядоченному - многие отношение, указанное данным ключом.
Объявление
Swift
func mutableArrayValueForKey(_key: String) -> NSMutableArrayObjective C
- (NSMutableArray *)mutableArrayValueForKey:(NSString *)keyПараметры
keyИмя упорядоченного - многие отношение.
Возвращаемое значение
Непостоянный прокси массива, обеспечивающий доступ для чтения-записи к упорядоченному - многие отношение, указанное
key.Обсуждение
Объекты, добавленные к непостоянному массиву, становятся связанными с получателем, и объекты, удаленные из непостоянного массива, становятся не связанными. Реализация по умолчанию распознает те же простые методы доступа и методы доступа массива как
valueForKey:, и следует за теми же прямыми политиками доступа переменной экземпляра, но всегда возвращает непостоянный объект прокси набора вместо неизменного набора этоvalueForKey:возвратился бы.Поисковый образец это
mutableArrayValueForKey:использование описано в Подробных данных Реализации Поиска Средства доступа в Значении ключа, Кодирующем Руководство по программированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает непостоянный массив, обеспечивающий доступ для чтения-записи к упорядоченному - многие отношение, указанное данным ключевым путем.
Объявление
Swift
func mutableArrayValueForKeyPath(_keyPath: String) -> NSMutableArrayObjective C
- (NSMutableArray *)mutableArrayValueForKeyPath:(NSString *)keyPathПараметры
keyPathКлючевой путь, относительно получателя, к упорядоченному - многие отношение.
Возвращаемое значение
Непостоянный массив, обеспечивающий доступ для чтения-записи к упорядоченному - многие отношение, указанное
keyPath.Обсуждение
Посмотрите
mutableArrayValueForKey:для дополнительных подробных данных.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает непостоянный прокси набора, обеспечивающий доступ для чтения-записи к неупорядоченному к - многие отношение, указанное данным ключом.
Объявление
Swift
func mutableSetValueForKey(_key: String) -> NSMutableSetObjective C
- (NSMutableSet *)mutableSetValueForKey:(NSString *)keyПараметры
keyИмя неупорядоченного к - многие отношение.
Возвращаемое значение
Непостоянный набор, обеспечивающий доступ для чтения-записи к неупорядоченному к - многие отношение, указанное
key.Обсуждение
Объекты, добавленные к непостоянному прокси набора, становятся связанными с получателем, и объекты, удаленные из непостоянного набора, становятся не связанными. Реализация по умолчанию распознает те же простые методы доступа и методы доступа набора как
valueForKey:, и следует за теми же прямыми политиками доступа переменной экземпляра, но всегда возвращает непостоянный объект прокси набора вместо неизменного набора этоvalueForKey:возвратился бы.Поисковый образец это
mutableSetValueForKey:использование описано в Подробных данных Реализации Поиска Средства доступа в Значении ключа, Кодирующем Руководство по программированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает непостоянный набор, обеспечивающий доступ для чтения-записи к неупорядоченному к - многие отношение, указанное данным ключевым путем.
Объявление
Swift
func mutableSetValueForKeyPath(_keyPath: String) -> NSMutableSetObjective C
- (NSMutableSet *)mutableSetValueForKeyPath:(NSString *)keyPathПараметры
keyPathКлючевой путь, относительно получателя, к неупорядоченному к - многие отношение.
Возвращаемое значение
Непостоянный набор, обеспечивающий доступ для чтения-записи к неупорядоченному к - многие отношение, указанное
keyPath.Обсуждение
Посмотрите
mutableSetValueForKey:для дополнительных подробных данных.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает непостоянный упорядоченный набор, обеспечивающий доступ для чтения-записи к uniquing, упорядоченному - многие отношение, указанное данным ключом.
Объявление
Swift
func mutableOrderedSetValueForKey(_key: String) -> NSMutableOrderedSetObjective C
- (NSMutableOrderedSet *)mutableOrderedSetValueForKey:(NSString *)keyПараметры
keyИмя uniquing, упорядоченного - многие отношение.
Возвращаемое значение
Непостоянный упорядоченный набор, обеспечивающий доступ для чтения-записи к uniquing к - многие отношение, указанное
key.Обсуждение
Объекты, добавленные к непостоянному прокси набора, становятся связанными с получателем, и объекты, удаленные из непостоянного набора, становятся не связанными. Реализация по умолчанию распознает те же простые методы доступа и методы доступа набора как
valueForKey:, и следует за теми же прямыми политиками доступа переменной экземпляра, но всегда возвращает непостоянный объект прокси набора вместо неизменного набора этоvalueForKey:возвратился бы.Поисковый образец это
mutableOrderedSetValueForKey:использование описано в Подробных данных Реализации Поиска Средства доступа в Значении ключа, Кодирующем Руководство по программированию.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 5.0 и позже.
-
Возвращает непостоянный упорядоченный набор, обеспечивающий доступ для чтения-записи к uniquing, упорядоченному - многие отношение, указанное данным ключевым путем.
Объявление
Swift
func mutableOrderedSetValueForKeyPath(_keyPath: String) -> NSMutableOrderedSetObjective C
- (NSMutableOrderedSet *)mutableOrderedSetValueForKeyPath:(NSString *)keyPathПараметры
keyPathКлючевой путь, относительно получателя, к uniquing, упорядоченному - многие отношение, представлен набором.
Возвращаемое значение
Непостоянный упорядоченный набор, обеспечивающий доступ для чтения-записи к uniquing к - многие отношение, указанное
keyPath.Обсуждение
Посмотрите
mutableOrderedSetValueForKey:для дополнительных подробных данных.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 5.0 и позже.
-
Устанавливает значение для свойства, идентифицированного данным ключевым путем к данному значению.
Объявление
Swift
func setValue(_value: AnyObject?, forKeyPathkeyPath: String)Objective C
- (void)setValue:(id)valueforKeyPath:(NSString *)keyPathПараметры
valueЗначение для свойства, идентифицированного
keyPath.keyPathКлючевой путь формы relationship.property (с одним или более отношениями): например, «department.name» или «department.manager.lastName».
Обсуждение
Реализация по умолчанию этого метода получает целевой объект для каждого использования отношения
valueForKey:, и отправляет конечный объект asetValue:forKey:сообщение.Специальные замечания
При использовании этого метода и целевого объекта не реализует средство доступа для значения, поведение по умолчанию для того объекта сохранить
valueвместо того, чтобы копировать или присваиватьсяvalue.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Свойства наборов получателя со значениями из данного словаря, с помощью его ключей для идентификации свойств.
Объявление
Swift
func setValuesForKeysWithDictionary(_keyedValues: [NSObject : AnyObject])Objective C
- (void)setValuesForKeysWithDictionary:(NSDictionary *)keyedValuesПараметры
keyedValuesСловарь, ключи которого идентифицируют свойства в получателе. Значения свойств в получателе установлены в соответствующие значения в словаре.
Обсуждение
Реализация по умолчанию вызывает
setValue:forKey:для каждой пары ключ/значение, занимая местоnilдляNSNullзначения вkeyedValues.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Вызванный
setValue:forKey:когда это дало anilзначение для скалярного значения (такой какintилиfloat).Объявление
Swift
func setNilValueForKey(_key: String)Objective C
- (void)setNilValueForKey:(NSString *)keyПараметры
keyИмя одного из свойств получателя.
Обсуждение
Подклассы могут переопределить этот метод для обрабатывания запроса некоторым другим способом, такой как путем замены
0или сигнальная метка оценивает заnilи вызовsetValue:forKey:снова или установка переменной непосредственно. Реализация по умолчанию повышаетNSInvalidArgumentException.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Устанавливает свойство получателя, указанного данным ключом к данному значению.
Объявление
Swift
func setValue(_value: AnyObject?, forKeykey: String)Objective C
- (void)setValue:(id)valueforKey:(NSString *)keyПараметры
valueЗначение для свойства, идентифицированного
key.keyИмя одного из свойств получателя.
Обсуждение
Если
keyидентифицирует для - одно отношение, свяжите объект, указанныйvalueк получателю, не связывая ранее связанный объект, если был тот. Учитывая объект коллекции и akeyэто идентифицирует для - многие отношение, свяжите объекты, содержавшиеся в наборе к получателю, не связав ранее связанные объекты, если был кто-либо.Поисковый образец это
setValue:forKey:использование описано в Подробных данных Реализации Поиска Средства доступа в Значении ключа, Кодирующем Руководство по программированию.В считаемой на ссылку среде, если к переменной экземпляра получают доступ непосредственно,
valueсохраняется.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Вызванный
setValue:forKey:когда это не находит свойства для данного ключа.Объявление
Swift
func setValue(_value: AnyObject?, forUndefinedKeykey: String)Objective C
- (void)setValue:(id)valueforUndefinedKey:(NSString *)keyПараметры
valueЗначение для ключа, идентифицированного
key.keyСтрока, которая не равна имени ни одного из свойств получателя.
Обсуждение
Подклассы могут переопределить этот метод для обрабатывания запроса некоторым другим способом. Реализация по умолчанию повышает
NSUndefinedKeyException.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает булево значение, указывающее, должны ли методы кодирования значения ключа получить доступ к соответствующей переменной экземпляра непосредственно при нахождении никакого метода доступа для свойства.
Объявление
Swift
class func accessInstanceVariablesDirectly() -> BoolObjective C
+ (BOOL)accessInstanceVariablesDirectlyВозвращаемое значение
YEStrueесли методы кодирования значения ключа должны получить доступ к соответствующей переменной экземпляра непосредственно при нахождении никакого метода доступа для свойства, иначеNOfalse.Обсуждение
Возвраты по умолчанию
YEStrue. Подклассы могут переопределить его для возвратаNOfalse, когда методы кодирования значения ключа не получат доступ к переменным экземпляра.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает булево значение, указывающее, допустимо ли значение, указанное данной подсказкой, для свойства, идентифицированного данным ключом.
Объявление
Swift
func validateValue(_ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeykey: String, erroroutError: NSErrorPointer) -> BoolПараметры
ioValueУказатель на новое значение для свойства, идентифицированного
key. Этот метод может изменить или заменить значение для создания его допустимым.keyИмя одного из свойств получателя. Ключ должен указать атрибут или к - одно отношение.
outErrorЕсли проверка необходима и
ioValueне преобразовывается в допустимое значение, по возврату содержитNSErrorобъект, описывающий причину этоioValueне допустимое значение.Возвращаемое значение
YES, если
*ioValueдопустимое значение для свойства, идентифицированногоkey, или если метод в состоянии изменить значение к*ioValueсделать его допустимым; иначеNOfalse.Обсуждение
Реализация по умолчанию этого метода ищет класс получателя для метода проверки, имя которого соответствует образец
validate<Ключ>:error:. Если такой метод найден, он вызывается, и результат возвращается. Если никакой такой метод не найден,YEStrueвозвращается.Отправителю сообщения никогда не дают ответственность за выпуск
ioValueилиoutError.Посмотрите Проверку Значения ключа для получения дополнительной информации.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает булево значение, указывающее, допустимо ли значение, указанное данной подсказкой, для данного ключевого пути относительно получателя.
Объявление
Swift
func validateValue(_ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPathkey: String, erroroutError: NSErrorPointer) -> BoolПараметры
ioValueУказатель на новое значение для свойства, идентифицированного
keyPath. Этот метод может изменить или заменить значение для создания его допустимым.keyИмя одного из свойств получателя. Ключевой путь должен указать атрибут или к - одно отношение. Ключевой путь имеет форму relationship.property (с одним или более отношениями); например, «department.name» или «department.manager.lastName».
outErrorЕсли проверка необходима и
ioValueне преобразовывается в допустимое значение, по возврату содержитNSErrorобъект, описывающий причину этоioValueне допустимое значение.Обсуждение
Реализация по умолчанию получает целевой объект для каждого использования отношения
valueForKey:и возвращает результат avalidateValue:forKey:error:обменивайтесь сообщениями к конечному объекту.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в iOS 2.0 и позже.
См. также
-
Когда работа кодирования значения ключа перестала работать, эта константа определяет имя исключения, повышенного.
Объявление
Swift
let NSUndefinedKeyException: StringObjective C
extern NSString *NSUndefinedKeyException;Константы
-
NSUndefinedKeyExceptionПовышенный, когда работа кодирования значения ключа перестала работать.
userInfoключи описаны в ключах NSUndefinedKeyException userInfoДоступный в iOS 2.0 и позже.
-
-
Эти константы являются ключами в
NSUndefinedKeyExceptionuserInfoсловарьОбъявление
Objective C
extern NSString *NSTargetObjectUserInfoKey; extern NSString *NSUnknownUserInfoKey;Константы
-
NSTargetObjectUserInfoKeyОбъект, на котором перестала работать работа кодирования значения ключа.
-
NSUnknownUserInfoKeyКлюч, для которого перестала работать работа кодирования значения ключа.
Обсуждение
Поскольку дополнительная информация видит, что Значение ключа Кодирует Имена Исключения.
-
-
Эти константы определяют доступных операторов массива. Посмотрите Операторов Набора и Массива для получения дополнительной информации.
Объявление
Swift
let NSAverageKeyValueOperator: String let NSCountKeyValueOperator: String let NSDistinctUnionOfArraysKeyValueOperator: String let NSDistinctUnionOfObjectsKeyValueOperator: String let NSDistinctUnionOfSetsKeyValueOperator: String let NSMaximumKeyValueOperator: String let NSMinimumKeyValueOperator: String let NSSumKeyValueOperator: String let NSUnionOfArraysKeyValueOperator: String let NSUnionOfObjectsKeyValueOperator: String let NSUnionOfSetsKeyValueOperator: StringObjective C
NSString *const NSAverageKeyValueOperator; NSString *const NSCountKeyValueOperator; NSString *const NSDistinctUnionOfArraysKeyValueOperator; NSString *const NSDistinctUnionOfObjectsKeyValueOperator; NSString *const NSDistinctUnionOfSetsKeyValueOperator; NSString *const NSMaximumKeyValueOperator; NSString *const NSMinimumKeyValueOperator; NSString *const NSSumKeyValueOperator; NSString *const NSUnionOfArraysKeyValueOperator; NSString *const NSUnionOfObjectsKeyValueOperator; NSString *const NSUnionOfSetsKeyValueOperator;Константы
-
NSAverageKeyValueOperator@avgоператор массива.Доступный в iOS 2.0 и позже.
-
NSCountKeyValueOperator@countоператор массива.Доступный в iOS 2.0 и позже.
-
NSDistinctUnionOfArraysKeyValueOperator@distinctUnionOfArraysоператор массива.Доступный в iOS 2.0 и позже.
-
NSDistinctUnionOfObjectsKeyValueOperator@distinctUnionOfObjectsоператор массива.Доступный в iOS 2.0 и позже.
-
NSDistinctUnionOfSetsKeyValueOperator@distinctUnionOfSetsоператор массива.Доступный в iOS 2.0 и позже.
-
NSMaximumKeyValueOperator@maxоператор массива.Доступный в iOS 2.0 и позже.
-
NSMinimumKeyValueOperator@minоператор массива.Доступный в iOS 2.0 и позже.
-
NSSumKeyValueOperator@sumоператор массива.Доступный в iOS 2.0 и позже.
-
NSUnionOfArraysKeyValueOperator@unionOfArraysоператор массива.Доступный в iOS 2.0 и позже.
-
NSUnionOfObjectsKeyValueOperator@unionOfObjectsоператор массива.Доступный в iOS 2.0 и позже.
-
NSUnionOfSetsKeyValueOperator@unionOfSetsоператор массива.Доступный в iOS 2.0 и позже.
-
