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)
value
forKeyPath:(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)
value
forKey:(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)
value
forUndefinedKey:(NSString *)key
Параметры
value
Значение для ключа, идентифицированного
key
.key
Строка, которая не равна имени ни одного из свойств получателя.
Обсуждение
Подклассы могут переопределить этот метод для обрабатывания запроса некоторым другим способом. Реализация по умолчанию повышает
NSUndefinedKeyException
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в iOS 2.0 и позже.
См. также
-
Возвращает булево значение, указывающее, должны ли методы кодирования значения ключа получить доступ к соответствующей переменной экземпляра непосредственно при нахождении никакого метода доступа для свойства.
Объявление
Swift
class func accessInstanceVariablesDirectly() -> Bool
Objective C
+ (BOOL)accessInstanceVariablesDirectly
Возвращаемое значение
YES
true
если методы кодирования значения ключа должны получить доступ к соответствующей переменной экземпляра непосредственно при нахождении никакого метода доступа для свойства, иначеNO
false
.Обсуждение
Возвраты по умолчанию
YES
true
. Подклассы могут переопределить его для возвратаNO
false
, когда методы кодирования значения ключа не получат доступ к переменным экземпляра.Оператор импорта
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
сделать его допустимым; иначеNO
false
.Обсуждение
Реализация по умолчанию этого метода ищет класс получателя для метода проверки, имя которого соответствует образец
validate
<Ключ>:error:
. Если такой метод найден, он вызывается, и результат возвращается. Если никакой такой метод не найден,YES
true
возвращается.Отправителю сообщения никогда не дают ответственность за выпуск
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: String
Objective C
extern NSString *NSUndefinedKeyException;
Константы
-
NSUndefinedKeyException
Повышенный, когда работа кодирования значения ключа перестала работать.
userInfo
ключи описаны в ключах NSUndefinedKeyException userInfoДоступный в iOS 2.0 и позже.
-
-
Эти константы являются ключами в
NSUndefinedKeyException
userInfo
словарьОбъявление
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: String
Objective 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 и позже.
-