NSScriptKeyValueCoding
Сценарии какао используют в своих интересах кодирование значения ключа, чтобы получить и установить информацию в scriptable объектах. Методы в этой категории обеспечивают дополнительные возможности работы с кодированием значения ключа, включая получение и установку значений ключа индексом в ключах мультизначения и принуждении (или преобразование) значение ключа. Дополнительные методы позволяют лицу, осуществляющему внедрение scriptable контейнерного класса обеспечивать быстрый доступ к элементам, на которые ссылаются по имени и уникальный идентификатор.
Поскольку сценарии Какао вызывают setValue:forKey: и mutableArrayValueForKey:, изменения в объектах модели, сделанных сценариями AppleScript, являются заметным использующим автоматическим наблюдением значения ключа.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Вставляет объект в указанном индексе в наборе, указанном переданным ключом.
Объявление
Objective C
- (void)insertValue:(id)valueatIndex:(NSUInteger)indexinPropertyWithKey:(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)indexfromPropertyWithKey:(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)indexinPropertyWithKey:(NSString *)keywithValue:(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)indexinPropertyWithKey:(NSString *)keyОбсуждение
Это фактически работает с ключом единственного значения также если
index0. Метод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)valueinPropertyWithKey:(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)uniqueIDinPropertyWithKey:(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)valueforKey:(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;Константы
-
NSOperationNotSupportedForKeyExceptionNSOperationNotSupportedForKeyExceptionМожет быть повышен методами кодирования значения ключа, хотящими явно запретить определенные манипуляции или доступы.
Например, a
setKey:метод для ключа только для чтения может повысить это исключение.Доступный в OS X v10.0 и позже.
-
