NSClassDescription
NSClassDescription абстрактный класс, обеспечивающий интерфейс для запросов отношений и свойств класса. Конкретные подклассы NSClassDescription обеспечьте доступные атрибуты объектов определенного класса и отношений между тем классом и другими классами. Определение этих отношений между классами допускает более интеллектуальное и гибкое манипулирование объектами с кодированием значения ключа.
Важно отметить, что нет никаких описаний класса по умолчанию. Использовать NSClassDescription объекты в Вашем коде необходимо реализовать их для классов модели. Для всех конкретных подклассов необходимо обеспечить реализации для всех методов экземпляра NSClassDescription. (NSClassDescription обеспечивает только реализацию для методов класса, поддерживающих кэш зарегистрированных описаний класса.) Когда-то создаваемый, необходимо зарегистрировать описание класса в NSClassDescription метод registerClassDescription:forClass:.
Можно использовать NSString объекты в массивах, возвращенных методами, такими как attributeKeys и toManyRelationshipKeys к доступу — использующий кодирование значения ключа — свойства экземпляра класса, которому соответствует объект описания класса. Для больше об атрибутах и отношениях, посмотрите Фундаментальное Руководство по Какао. Для больше о кодировании значения ключа, посмотрите, что Значение ключа Кодирует Руководство по программированию.
NSScriptClassDescription, то, которое используется для отображения отношений между scriptable классами, является единственным конкретным подклассом NSClassDescription если как часть платформы Какао.
Наследование
-
NSObject -
NSClassDescription -
NSScriptClassDescription
-
NSObject -
NSClassDescription -
NSScriptClassDescription
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает описание класса для данного класса.
Объявление
Swift
init?(forClassaClass: AnyClass!) -> NSClassDescriptionObjective C
+ (NSClassDescription *)classDescriptionForClass:(Class)aClassПараметры
aClassКласс, для которого можно возвратить описание класса. Посмотрите примечание ниже для важных подробных данных.
Возвращаемое значение
Описание класса для
aClass, илиnilесли не может быть найдено описание класса.Обсуждение
Если описание класса для
aClassне найден, метод отправляетNSClassDescriptionNeededForClassNotificationот имениaClass, разрешение наблюдателю зарегистрировать описание класса. Метод тогда проверяет на описание класса снова. Возвратыnilесли все еще не найдено описание класса.Если у Вас есть экземпляр класса получателя, можно использовать
NSObjectметод экземпляраclassDescriptionвместо этого.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Удаляет все
NSClassDescriptionобъекты от кэша.Объявление
Swift
class func invalidateClassDescriptionCache()Objective C
+ (void)invalidateClassDescriptionCacheОбсуждение
Необходимо редко должны быть вызвать этот метод. Используйте его каждый раз, когда зарегистрированное
NSClassDescriptionобъект мог бы быть заменен различной версией, такой как тогда, когда Вы загрузили нового провайдераNSClassDescriptionобъекты, или когда Вы собираетесь удалить провайдераNSClassDescriptionобъекты.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Регистры
NSClassDescriptionобъект для поданного классифицируетNSClassDescriptionкэш.Объявление
Swift
class func registerClassDescription(_description: NSClassDescription, forClassaClass: AnyClass)Objective C
+ (void)registerClassDescription:(NSClassDescription *)descriptionforClass:(Class)aClassПараметры
descriptionОписание класса для регистрации.
aClassКласс, для которого можно зарегистрироваться
description.Обсуждение
Необходимо редко должны быть непосредственно вызвать этот метод.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Переопределенный подклассами для возврата имен атрибутов экземпляров описанного класса.
Объявление
Swift
var attributeKeys: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *attributeKeysВозвращаемое значение
Массив
NSStringобъекты, содержащие имена атрибутов экземпляров описанного класса.Обсуждение
Например, описание класса, описывающее Объекты видеоклипа, могло возвратить ключи атрибута
title,dateReleased, иrating.Если у Вас есть экземпляр класса, получатель описывает, можно использовать
NSObjectметод экземпляраattributeKeysвместо этого.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Переопределенный подклассами для возврата имени обратной связи от отношения, указанного данным ключом.
Объявление
Возвращаемое значение
Имя обратной связи от отношения, указанного
relationshipKey.Обсуждение
Для данного ключа, определяющего имя отношения от класса получателя до другого класса, возвращает имя отношения от другого класса до класса получателя. Например, предположите, что классу Сотрудника назвали отношение
departmentк классу Отдела и тому Отделу назвали отношениеemployeesСотруднику. Оператор:[employee inverseForRelationshipKey:@"department"];
возвращает строку
employees.Если у Вас есть экземпляр класса, получатель описывает, можно использовать
NSObjectметод экземпляраinverseForRelationshipKey:вместо этого.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
-
Переопределенный подклассами для возврата ключей для к - много свойств отношения экземпляров описанного класса.
Объявление
Swift
var toManyRelationshipKeys: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *toManyRelationshipKeysВозвращаемое значение
Массив
NSStringобъекты, содержащие имена к - много свойств отношения экземпляров описанного класса.Обсуждение
К - много свойств отношения являются массивами объектов.
Если у Вас есть экземпляр класса, получатель описывает, можно использовать
NSObjectметод экземпляраtoManyRelationshipKeysвместо этого.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Переопределенный подклассами для возврата ключей для к - свойства отношения экземпляров описанного класса.
Объявление
Swift
var toOneRelationshipKeys: [AnyObject] { get }Objective C
@property(readonly, copy) NSArray *toOneRelationshipKeysВозвращаемое значение
Массив
NSStringобъекты, содержащие имена к - свойства отношения экземпляров описанного класса.Обсуждение
К - свойства отношения являются отдельными объектами.
Если у Вас есть экземпляр класса, получатель описывает, можно использовать
NSObjectметод экземпляраtoOneRelationshipKeysвместо этого.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
См. также
-
Отправленный
classDescriptionForClass:когда описание класса не может быть найдено для класса.После того, как уведомление обрабатывается,
classDescriptionForClass:проверки на описание класса снова. Эта проверка позволяет наблюдателю регистрировать описания класса лениво. Даже если описание класса остается неопределенным, уведомление отправляется только один раз для любого данного класса.Объект уведомления является объектом класса, на который требуют описание класса. Это уведомление не содержит a
userInfoсловарь.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.0 и позже.
