NSScriptKeyValueCoding
Сценарии какао используют в своих интересах кодирование значения ключа, чтобы получить и установить информацию в scriptable объектах. Методы в этой категории обеспечивают дополнительные возможности работы с кодированием значения ключа, включая получение и установку значений ключа индексом в ключах мультизначения и принуждении (или преобразование) значение ключа. Дополнительные методы позволяют лицу, осуществляющему внедрение scriptable контейнерного класса обеспечивать быстрый доступ к элементам, на которые ссылаются по имени и уникальный идентификатор.
Поскольку сценарии Какао вызывают setValue:forKey:
и mutableArrayValueForKey:
, изменения в объектах модели, сделанных сценариями AppleScript, являются заметным использующим автоматическим наблюдением значения ключа.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Вставляет объект в указанном индексе в наборе, указанном переданным ключом.
Объявление
Objective C
- (void)insertValue:(id)
value
atIndex:(NSUInteger)index
inPropertyWithKey:(NSString *)key
Обсуждение
Метод
insertIn<Key>:atIndex:
вызывается, если это существует. Если никакой соответствующий scripting-KVC-compliant метод (insertIn<Key>:atIndex:
) найден, этот метод вызываетmutableArrayValueForKey:
и видоизменяет результат.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Удаляет объект в указанном индексе от набора, указанного переданным ключом.
Объявление
Objective C
- (void)removeValueAtIndex:(NSUInteger)
index
fromPropertyWithKey:(NSString *)key
Обсуждение
Метод
removeFrom<Key>AtIndex:
вызывается, если это существует. Если никакой соответствующий scripting-KVC-compliant метод (-removeFrom<Key>AtIndex:
) найден, этот метод вызывает-mutableArrayValueForKey:
и видоизменяет результат.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
replaceValueAtIndex (_: inPropertyWithKey:withValue:) - replaceValueAtIndex:inPropertyWithKey:withValue:
Заменяет объект в указанном индексе в наборе, указанном переданным ключом.
Объявление
Swift
func replaceValueAtIndex(_
index
: Int, inPropertyWithKeykey
: String, withValuevalue
: AnyObject!)Objective C
- (void)replaceValueAtIndex:(NSUInteger)
index
inPropertyWithKey:(NSString *)key
withValue:(id)value
Обсуждение
Метод
replaceIn<Key>:atIndex:
вызывается, если это существует. Если никакой соответствующий scripting-KVC-compliant метод (-replaceIn<Key>atIndex:
) найден, этот метод вызывает-mutableArrayValueForKey:
и видоизменяет результат.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Получает индексируемый объект от набора, указанного переданным ключом.
Объявление
Objective C
- (id)valueAtIndex:(NSUInteger)
index
inPropertyWithKey:(NSString *)key
Обсуждение
Это фактически работает с ключом единственного значения также если
index
0. МетодvalueIn<Key>AtIndex:
используется, если это существует.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
Вставляет объект в набор, указанный переданным ключом.
Объявление
Swift
func insertValue(_
value
: AnyObject!, inPropertyWithKeykey
: String!)Objective C
- (void)insertValue:(id)
value
inPropertyWithKey:(NSString *)key
Обсуждение
Метод
insertIn<Key>:
используется, если это существует. Иначе, повышенияNSUndefinedKeyException
. Это - часть поддержки сценариев Какао вставки недавно-созданных-объектов в контейнеры, явно не указывая расположение.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Получает именованный объект от набора, указанного переданным ключом.
Объявление
Обсуждение
Метод
valueIn<Key>WithName:
используется, если это существует. Иначе, повышенияNSUndefinedKeyException
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Получает объект ID от набора, указанного переданным ключом.
Объявление
Swift
func valueWithUniqueID(_
uniqueID
: AnyObject!, inPropertyWithKeykey
: String!) -> AnyObject!Objective C
- (id)valueWithUniqueID:(id)
uniqueID
inPropertyWithKey:(NSString *)key
Обсуждение
Метод
valueIn<Key>WithUniqueID:
вызывается, если это существует. Иначе, повышенияNSUndefinedKeyException
. Заявленный типuniqueID
в созданном методе должен бытьid
,NSNumber *
,NSString *
, или один из скалярных типов, которые могут инкапсулироватьсяNSNumber
.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.2 и позже.
-
Использование вводит информацию из описания класса и
NSScriptCoercionHandler
попытаться преобразоватьvalue
дляkey
к надлежащему типу, при необходимости.Объявление
Swift
func coerceValue(_
value
: AnyObject!, forKeykey
: String!) -> AnyObject!Objective C
- (id)coerceValue:(id)
value
forKey:(NSString *)key
Обсуждение
Метод
coerceValueFor<Key>:
используется, если это существует.Оператор импорта
Objective C
@import Foundation;
Swift
import Foundation
Доступность
Доступный в OS X v10.0 и позже.
-
NSScriptKeyValueCoding
определяет следующее исключение.Объявление
Swift
var NSOperationNotSupportedForKeyException: NSString!
Objective C
extern NSString *NSOperationNotSupportedForKeyException;
Константы
-
NSOperationNotSupportedForKeyException
NSOperationNotSupportedForKeyException
Может быть повышен методами кодирования значения ключа, хотящими явно запретить определенные манипуляции или доступы.
Например, a
setKey:
метод для ключа только для чтения может повысить это исключение.Доступный в OS X v10.0 и позже.
-