可能重复:
Does every Core Data Relationship have to have an Inverse?
我有以下关系的实体:
CombinedSH
必须有Subject
和StudyHour
Subject
必须没有CombinedSH
StudyHour
必须没有CombinedSH
。
在我的应用中,Subject
/ a StudyHour
将CombinedSH
没有任何意义。
问题是Xcode给了我以下警告:
警告:配置错误的属性:CombinedSH.studyHour应该有反向。
警告:配置错误的属性:CombinedSH.subject应该有反向。
所以Xcode说应该有反向 - 但在我的应用程序中它没有意义。 我该怎么办?
答案 0 :(得分:15)
您可以定义从Subject
到CombinedSH
的反向关系,并将其标记为“可选”。然后“主题”不需要“CombinedSH”。
这样做会让Xcode感到高兴,但也有另一个优势。假设你有对象
CombinedSH *csh1;
Subject *s1;
和
csh1.subject = s1;
如果s1
被删除会怎样?如果没有反比关系,csh1.subject
将指向一些已删除的对象。
但是如果您定义了反向关系,并将该关系的“删除规则”设置为“Nullify”,则删除s1
会自动设置
csh1.subject = nil
因此subject
不能再指向已删除的对象。