5

可能重复:
每个核心数据关系都必须有一个逆向关系吗?

我有以下具有关系的实体: 在此处输入图像描述

ACombinedSH必须有 aSubject和 a StudyHour
ASubject不能有CombinedSH.
AStudyHour不能有CombinedSH.

在我的应用程序中, a Subject/ aStudyHour将具有CombinedSH. 问题是 Xcode 给了我以下警告:

警告:错误配置的属性:CombinedSH.studyHour 应该有一个倒数。

警告:错误配置的属性:CombinedSH.subject 应该有一个逆。

所以 Xcode 说应该有一个逆向 - 但在我的应用程序中它没有意义。我该怎么办?

4

1 回答 1

17

Subject您可以定义从to的逆关系CombinedSH并将其标记为“可选”。那么“Subject”不需要有“CombinedSH”。

这样做让 Xcode 很开心,但也有另一个优势。假设你有对象

CombinedSH *csh1;
Subject *s1;

csh1.subject = s1;

如果s1被删除会怎样?如果没有反向关系,csh1.subject将指向某个已删除的对象。

但是如果你定义了反向关系,并且将该关系的“删除规则”设置为“无效”,那么删除会s1自动设置

csh1.subject = nil

因此subject不能再指向已删除的对象。

于 2013-01-19T12:28:03.530 回答