核心数据应该有倒数

时间:2013-01-19 12:19:00

标签: ios objective-c core-data

  

可能重复:
  Does every Core Data Relationship have to have an Inverse?

我有以下关系的实体: enter image description here

CombinedSH必须有SubjectStudyHour Subject必须没有CombinedSH StudyHour必须没有CombinedSH

在我的应用中,Subject / a StudyHourCombinedSH没有任何意义。 问题是Xcode给了我以下警告:

  

警告:配置错误的属性:CombinedSH.studyHour应该有反向。

     

警告:配置错误的属性:CombinedSH.subject应该有反向。

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

1 个答案:

答案 0 :(得分:15)

您可以定义从SubjectCombinedSH的反向关系,并将其标记为“可选”。然后“主题”不需要“CombinedSH”。

这样做会让Xcode感到高兴,但也有另一个优势。假设你有对象

CombinedSH *csh1;
Subject *s1;

csh1.subject = s1;

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

但是如果您定义了反向关系,并将该关系的“删除规则”设置为“Nullify”,则删除s1会自动设置

csh1.subject = nil

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