NSAttributeDescription
NSAttributeDescription
класс используется для описания атрибутов объекта, описанного экземпляром NSEntityDescription
.
NSAttributeDescription
наследовался от NSPropertyDescription
, который обеспечивает большую часть основного поведения. Экземпляры NSAttributeDescription
используются для описания атрибутов, в отличие от отношений. Класс добавляет возможность указать тип атрибута и указать значение по умолчанию. В модели управляемого объекта необходимо указать тип всех атрибутов — можно только использовать неопределенный тип атрибута (NSUndefinedAttributeType
) для переходных атрибутов.
Редактирование описаний атрибута
Описания атрибута доступны для редактирования, пока они не используются менеджером по графу объектов. Это позволяет Вам создавать или изменять их динамично. Однако, как только описание используется (когда модель управляемого объекта, которой оно принадлежит, связана с персистентным координатором хранилища), оно не должно (действительно не может) быть измененным. Во время выполнения это осуществляется: любая попытка видоизменить модель или любой из ее подобъектов после модели связана с персистентными причинами координатора хранилища исключение, которое будет брошено. Если необходимо изменить модель, использующуюся, создайте копию, измените копию, и затем отбросьте объекты со старой моделью.
Наследование
-
NSObject
-
NSPropertyDescription
-
NSAttributeDescription
-
NSObject
-
NSPropertyDescription
-
NSAttributeDescription
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import CoreData
Objective C
@import CoreData;
Доступность
Доступный в OS X v10.4 и позже.
-
attributeType attributeType
СвойствоТип атрибута.
Объявление
Swift
var attributeType: NSAttributeType
Objective C
@property NSAttributeType attributeType
Обсуждение
Установка типа атрибута повышает исключение, если модель, которой принадлежит атрибут, использовалась менеджером по графу объектов.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Имя класса раньше представляло атрибут.
Объявление
Swift
var attributeValueClassName: String?
Objective C
@property(copy) NSString *attributeValueClassName
Обсуждение
При установке имени класса значения Базовые Данные могут проверить класс любого набора экземпляра как значение атрибута.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
defaultValue defaultValue
СвойствоЗначение по умолчанию атрибута.
Объявление
Swift
var defaultValue: AnyObject?
Objective C
@property(retain) id defaultValue
Обсуждение
Значения по умолчанию сохраняются моделью управляемого объекта, не скопированной. Это означает, что значения атрибута не должны реализовывать
NSCopying
протокол, однако это также означает, что Вы не должны изменять объекты после того, как они были установлены как значения по умолчанию.Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка значения по умолчанию повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
versionHash versionHash
СвойствоХеш версии для атрибута. (только для чтения)
Объявление
Swift
@NSCopying var versionHash: NSData { get }
Objective C
@property(readonly, copy) NSData *versionHash
Обсуждение
Хеш версии используется для однозначного определения атрибута на основе его конфигурации. Это значение включает
versionHash
информация отNSPropertyDescription
и тип атрибута.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.5 и позже.
См. также
versionHash
(NSPropertyDescription
)
-
valueTransformerName valueTransformerName
СвойствоИмя преобразователя раньше преобразовывало значение атрибута.
Объявление
Swift
var valueTransformerName: String?
Objective C
@property(copy) NSString *valueTransformerName
Обсуждение
Атрибут должен иметь тип
NSTransformedAttributeType
.Преобразователь должен вывести
NSData
объект отtransformedValue:
и должен позволить обратные трансформации.Если это значение
nil
, Базовые Данные используют значение по умолчанию использующий преобразовательNSCoding
заархивировать и разархивировать значение атрибута.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.5 и позже.
-
Булево значение, указывающее, позволяет ли атрибут внешнее двоичное хранение.
Объявление
Swift
var allowsExternalBinaryDataStorage: Bool
Objective C
@property BOOL allowsExternalBinaryDataStorage
Обсуждение
YES
true
если атрибут позволяет внешнее двоичное хранение, иначеNO
false
. Если это значениеYES
true
, соответствующий атрибут может быть сохранен в файле, внешнем к самому персистентному хранилищу.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.7 и позже.
Типы данных
-
Определяет возможные типы
NSAttributeType
свойства. Они явно различают диаметры долота для обеспечения независимости хранилища данных.Объявление
Swift
enum NSAttributeType : UInt { case UndefinedAttributeType case Integer16AttributeType case Integer32AttributeType case Integer64AttributeType case DecimalAttributeType case DoubleAttributeType case FloatAttributeType case StringAttributeType case BooleanAttributeType case DateAttributeType case BinaryDataAttributeType case TransformableAttributeType case ObjectIDAttributeType }
Objective C
typedef enum { NSUndefinedAttributeType = 0, NSInteger16AttributeType = 100, NSInteger32AttributeType = 200, NSInteger64AttributeType = 300, NSDecimalAttributeType = 400, NSDoubleAttributeType = 500, NSFloatAttributeType = 600, NSStringAttributeType = 700, NSBooleanAttributeType = 800, NSDateAttributeType = 900, NSBinaryDataAttributeType = 1000, NSTransformableAttributeType = 1800, NSObjectIDAttributeType = 2000 } NSAttributeType;
Константы
-
UndefinedAttributeType
NSUndefinedAttributeType
Указывает неопределенный тип атрибута.
NSUndefinedAttributeType
допустимо для переходных свойств — Базовые Данные все еще отследят свойство какid
оцените и зарегистрируйте действия отмены/восстановления и т.д.NSUndefinedAttributeType
недопустимо для непереходных свойств.Доступный в OS X v10.4 и позже.
-
Integer16AttributeType
NSInteger16AttributeType
Указывает 16-разрядный атрибут целого числа со знаком.
Доступный в OS X v10.4 и позже.
-
Integer32AttributeType
NSInteger32AttributeType
Указывает 32-разрядный атрибут целого числа со знаком.
Доступный в OS X v10.4 и позже.
-
Integer64AttributeType
NSInteger64AttributeType
Указывает 64-разрядный атрибут целого числа со знаком.
Доступный в OS X v10.4 и позже.
-
DecimalAttributeType
NSDecimalAttributeType
Указывает
NSDecimalNumber
атрибут.Доступный в OS X v10.4 и позже.
-
DoubleAttributeType
NSDoubleAttributeType
Указывает двойной атрибут.
Доступный в OS X v10.4 и позже.
-
FloatAttributeType
NSFloatAttributeType
Указывает атрибут плавающий.
Доступный в OS X v10.4 и позже.
-
StringAttributeType
NSStringAttributeType
Указывает
NSString
атрибут.Доступный в OS X v10.4 и позже.
-
BooleanAttributeType
NSBooleanAttributeType
Указывает булев атрибут.
Доступный в OS X v10.4 и позже.
-
DateAttributeType
NSDateAttributeType
Указывает
NSDate
атрибут.Времена указаны в GMT.
Доступный в OS X v10.4 и позже.
-
BinaryDataAttributeType
NSBinaryDataAttributeType
Указывает
NSData
атрибут.Доступный в OS X v10.4 и позже.
-
TransformableAttributeType
NSTransformableAttributeType
Указывает атрибут, использующий преобразователь значения.
Доступный в OS X v10.5 и позже.
-
ObjectIDAttributeType
NSObjectIDAttributeType
Указывает атрибут идентификатора объекта.
Доступный в OS X v10.6 и позже.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-