NSPropertyDescription
NSPropertyDescription
класс используется для определения свойств объекта в Базовой модели управляемого объекта Данных. Свойства к объектам, что переменные экземпляра к классам.
Свойство описывает единственное значение в объекте, которым управляет Базовая Платформа Данных. Существуют различные типы свойства, каждый представленный подклассом, инкапсулирующим определенное поведение свойства — посмотрите NSAttributeDescription
, NSRelationshipDescription
, и NSFetchedPropertyDescription
.
Обратите внимание на то, что имя свойства не может совпасть ни с каким именем метода без параметров NSObject
или NSManagedObject
. Например, Вы не можете дать свойству имя «описание». Существуют сотни методов на NSObject
который может конфликтовать с именами свойства — и этот список может расти, не предупреждая от платформ или других библиотек. Необходимо избежать очень обычных слов (как "шрифт” и «цвет») и слова или фразы, накладывающиеся с парадигмами Какао (такими как «isEditing» и «objectSpecifier»).
Свойства — отношения, а также атрибуты — могут быть переходными. Контекст управляемого объекта знает о переходных свойствах и отслеживает изменения, внесенные в них. Переходные свойства проигнорированы персистентным хранилищем, и не только во время сохраняет: Вы не можете выбрать использование предиката на основе переходных процессов (несмотря на то, что можно использовать переходные свойства для просачивания памяти сами).
Редактирование описаний свойства
Описания свойства доступны для редактирования, пока они не используются менеджером по графу объектов (таким как персистентный координатор хранилища). Это позволяет Вам создавать или изменять их динамично. Однако, как только описание используется (когда модель управляемого объекта, которой оно принадлежит, связана с персистентным координатором хранилища), оно не должно (действительно не может) быть измененным. Во время выполнения это осуществляется: любая попытка видоизменить модель или любой из ее подобъектов после модели связана с персистентными причинами координатора хранилища исключение, которое будет брошено. Если необходимо изменить модель, использующуюся, создайте копию, измените копию, и затем отбросьте объекты со старой моделью.
Наследование
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import CoreData
Objective C
@import CoreData;
Доступность
Доступный в OS X v10.4 и позже.
-
Описание объекта получателя. (только для чтения)
Объявление
Swift
unowned(unsafe) var entity: NSEntityDescription { get }
Objective C
@property(nonatomic, readonly, assign) NSEntityDescription *entity
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
setProperties:
(NSEntityDescription
) -
индексируемый индексируемый
СвойствоБулево значение, указывающее, должен ли получатель быть индексирован для поиска.
Объявление
Swift
var indexed: Bool
Objective C
@property(getter=isIndexed) BOOL indexed
Обсуждение
YES
true
если получатель должен быть индексирован для поиска, иначеNO
false
. Объектно-ориентированные памяти могут дополнительно использовать эту информацию относительно создания хранилища для операций, таких как определение индексов.Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.5 и позже.
-
дополнительный дополнительный
СвойствоБулево значение, указывающее, является ли получатель дополнительным.
Объявление
Swift
var optional: Bool
Objective C
@property(getter=isOptional) BOOL optional
Обсуждение
YES
true
если получатель является дополнительным, иначеNO
false
. Флаг возможностей указывает, может ли значение свойства бытьnil
прежде чем объект может быть сохранен к персистентному хранилищу.Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.10 и позже.
-
переходный процесс переходный процесс
СвойствоБулево значение, указывающее, является ли получатель переходным.
Объявление
Swift
var transient: Bool
Objective C
@property(getter=isTransient) BOOL transient
Обсуждение
YES
true
если получатель является переходным, иначеNO
false
. Переходный флаг указывает, проигнорировано ли значение свойства, когда объект сохраняется к персистентному хранилищу. Переходные свойства не сохраняются к персистентному хранилищу, но все еще управляются для отмены, восстановления, проверки, и т.д.Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.10 и позже.
-
Имя получателя.
Обсуждение
Имя свойства не может совпасть ни с каким именем метода без параметров
NSObject
илиNSManagedObject
. С тех пор существуют сотни методов наNSObject
который может конфликтовать с именами свойства, необходимо избежать очень обычных слов (как "шрифт” и «цвет») и слова или фразы, накладывающиеся с парадигмами Какао (такими как «isEditing» и «objectSpecifier»).Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка имени повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
Пользовательский информационный словарь получателя.
Объявление
Swift
var userInfo: [NSObject : AnyObject]?
Objective C
@property(nonatomic, strong) NSDictionary *userInfo
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка пользовательской информации повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
validationPredicates validationPredicates
СвойствоПредикаты проверки получателя. (только для чтения)
Объявление
Swift
var validationPredicates: [AnyObject] { get }
Objective C
@property(readonly, strong) NSArray *validationPredicates
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
validationWarnings validationWarnings
СвойствоСтроки ошибки связались с предикатами проверки получателя. (только для чтения)
Объявление
Swift
var validationWarnings: [AnyObject] { get }
Objective C
@property(readonly, strong) NSArray *validationWarnings
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
setValidationPredicates (_: withValidationWarnings:) - setValidationPredicates:withValidationWarnings:
Устанавливает предикаты проверки и предупреждения получателя.
Объявление
Swift
func setValidationPredicates(_
validationPredicates
: [AnyObject]?, withValidationWarningsvalidationWarnings
: [AnyObject]?)Параметры
validationPredicates
Массив, содержащий предикаты проверки для получателя.
validationWarnings
Массив, содержащий предупреждения проверки для получателя.
Обсуждение
validationPredicates
иvalidationWarnings
массивы должны содержать то же число элементов, и соответствующие элементы должны появиться в том же индексе в каждом массиве.Вместо того, чтобы реализовать отдельные методы проверки, можно использовать этот метод для обеспечения списка предикатов, оцененных против управляемых объектов и списка соответствующих сообщений об ошибках (который может быть локализован).
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, этот метод повышает исключение.
Оператор импорта
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
Обсуждение
Хеш версии используется для однозначного определения свойства на основе его конфигурации. Хеш версии использует только значения, влияющие на персистентность данных и определяемого пользователем
versionHashModifier
значение. (Значения, влияющие на персистентность, являются именем свойства и флагами дляisOptional
,isTransient
, иisReadOnly
.) Это значение сохранено как часть информации о версии в метаданных для хранилищ, а также определение свойства, вовлеченного вNSPropertyMapping
объект.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
versionHashModifier versionHashModifier
СвойствоМодификатор хеша версии для получателя.
Объявление
Swift
var versionHashModifier: String?
Objective C
@property(copy) NSString *versionHashModifier
Обсуждение
Это значение включено в хеш версии для свойства. Вы используете его, чтобы отметить или обозначить свойство, как являющееся различной «версией», чем другой, даже если все значения, влияющие на персистентность, равны. (Такое различие важно в случаях, где атрибуты свойства неизменны, но изменяются формат или содержание его данных.)
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
renamingIdentifier renamingIdentifier
СвойствоИдентификатор переименования для получателя.
Объявление
Swift
var renamingIdentifier: String?
Objective C
@property(copy) NSString *renamingIdentifier
Обсуждение
Это используется для разрешения конфликтов имен между моделями. Когда создание объекта, отображающегося между объектами в двух моделях управляемого объекта, исходном свойстве объекта и целевом свойстве объекта, совместно использующих тот же идентификатор, указывает, что отображение свойства должно быть сконфигурировано для миграции от источника до места назначения. Если сброшено, идентификатор возвратит имя свойства.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.6 и позже.
-
indexedBySpotlight indexedBySpotlight
СвойствоБулево значение, указывающее, должно ли свойство быть индексировано Центром внимания.
Объявление
Swift
var indexedBySpotlight: Bool
Objective C
@property(getter=isIndexedBySpotlight) BOOL indexedBySpotlight
Обсуждение
YES
true
если свойство должно быть индексировано Центром внимания, иначеNO
false
. Для получения дополнительной информации см. Базовое Руководство по программированию Интеграции Центра внимания Данных.Специальные замечания
Это свойство не имеет никакого эффекта на iOS.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.6 и позже.
-
Булево значение, указывающее, должны ли данные свойства быть выписаны во внешнем рекордном файле, соответствующем управляемому объекту.
Объявление
Swift
var storedInExternalRecord: Bool
Objective C
@property(getter=isStoredInExternalRecord) BOOL storedInExternalRecord
Обсуждение
YES
true
если данные свойства должны быть выписаны во внешнем рекордном файле, соответствующем управляемому объекту, иначеNO
false
. Для получения дополнительной информации см. Базовое Руководство по программированию Интеграции Центра внимания Данных.Специальные замечания
Это свойство не имеет никакого эффекта на iOS.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.6 и позже.