NSRelationshipDescription
NSRelationshipDescription
класс используется для описания отношений объекта в NSEntityDescription
объект.
NSRelationshipDescription
расширяется NSPropertyDescription
описать функции, надлежащие отношениям, включая кардинальность (число объектов, позволенных в отношении), целевой объект, и удалить правила.
Кардинальность
Максимум и минимум значат отношение, указывают число объектов, на которые ссылаются (1/1
для к - одно отношение, 0
означает неопределенный). Если значение отношения в содержании объекта не, количества только осуществляются nil
. Т.е. дополнительные отношения могут иметь нулевые объекты в отношении, которое могло бы быть меньше, чем минимальное количество.
Редактирование описаний отношения
Описания отношения доступны для редактирования, пока они не используются менеджером по графу объектов. Это позволяет Вам создавать или изменять их динамично. Однако, как только описание используется (когда модель управляемого объекта, которой оно принадлежит, связана с персистентным координатором хранилища), оно не должно (действительно не может) быть измененным. Во время выполнения это осуществляется: любая попытка видоизменить модель или любой из ее подобъектов после модели связана с персистентными причинами координатора хранилища исключение, которое будет брошено. Если необходимо изменить модель, использующуюся, создайте копию, измените копию, и затем отбросьте объекты со старой моделью.
Наследование
-
NSObject
-
NSPropertyDescription
-
NSRelationshipDescription
-
NSObject
-
NSPropertyDescription
-
NSRelationshipDescription
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSObjectProtocol
-
Печатаемый
-
NSCoding
-
NSCopying
-
NSObject
Оператор импорта
Swift
import CoreData
Objective C
@import CoreData;
Доступность
Доступный в OS X v10.4 и позже.
-
destinationEntity destinationEntity
СвойствоОписание объекта места назначения получателя.
Объявление
Swift
unowned(unsafe) var destinationEntity: NSEntityDescription?
Objective C
@property(nonatomic, assign) NSEntityDescription *destinationEntity
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
inverseRelationship inverseRelationship
СвойствоОтношение, представляющее инверсию получателя.
Объявление
Swift
unowned(unsafe) var inverseRelationship: NSRelationshipDescription?
Objective C
@property(nonatomic, assign) NSRelationshipDescription *inverseRelationship
Обсуждение
Данный к - много отношений «сотрудники» между объектом Отдела и объектом Сотрудника (отдел может иметь много сотрудников), и к - одно отношение «отдел» между объектом Сотрудника и объектом Отдела (сотрудник может принадлежать только одному отделу), инверсия отношения «отдела» является отношением «сотрудников».
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
deleteRule deleteRule
СвойствоУдалить правило получателя.
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-
Максимальное количество получателя.
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Минимальное количество получателя.
Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Булево значение, указывающее, представляет ли получатель - многие отношение. (только для чтения)
Объявление
Swift
var toMany: Bool { get }
Objective C
@property(getter=isToMany, readonly) BOOL toMany
Обсуждение
YES
true
если получатель представляет - многие отношение (maxCount
больше, чем1
) иначеNO
false
.Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
упорядоченный упорядоченный
СвойствоВозвращает булево значение, указывающее, описывает ли получатель упорядоченное отношение.
Объявление
Swift
var ordered: Bool
Objective C
@property(getter=isOrdered) BOOL ordered
Обсуждение
YES
true
если отношение упорядочивается, иначеNO
false
.Специальные замечания
Если модель получателя использовалась менеджером по графу объектов, установка этого свойства повышает исключение.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.7 и позже.
-
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
)
Типы данных
-
Эти константы определяют то, что происходит с отношениями, когда удален объект.
Объявление
Swift
enum NSDeleteRule : UInt { case NoActionDeleteRule case NullifyDeleteRule case CascadeDeleteRule case DenyDeleteRule }
Objective C
typedef enum { NSNoActionDeleteRule, NSNullifyDeleteRule, NSCascadeDeleteRule, NSDenyDeleteRule } NSDeleteRule;
Константы
-
NoActionDeleteRule
NSNoActionDeleteRule
Если объект удален, никакие модификации не сделаны к объектам в месте назначения отношения.
При использовании этого правила Вы ответственны за поддержание целостности графа объектов. Этому правилу строго обескураживают для всех кроме опытных пользователей. Необходимо обычно использовать
NSNullifyDeleteRule
вместо этого.Доступный в OS X v10.4 и позже.
-
NullifyDeleteRule
NSNullifyDeleteRule
Если объект удален, аннулированы обратные указатели от объектов, до которых он связан.
Доступный в OS X v10.4 и позже.
-
CascadeDeleteRule
NSCascadeDeleteRule
Если объект удален, целевой объект или объекты этого отношения также удалены.
Доступный в OS X v10.4 и позже.
-
DenyDeleteRule
NSDenyDeleteRule
Если место назначения этого отношения не
nil
, удаление создает ошибку проверки.Доступный в OS X v10.4 и позже.
Оператор импорта
Objective C
@import CoreData;
Swift
import CoreData
Доступность
Доступный в OS X v10.4 и позже.
-