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?(forClass
aClass
: 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 *)
description
forClass:(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 и позже.