我应该在Core Data中使用Cascade还是nullify来建立关系?

时间:2011-07-13 17:53:11

标签: iphone objective-c xcode core-data

我有一对多的关系,我只想尝试一些事情。当我从A< - >>设置关系时B一切都很棒,按照我喜欢的方式运作。但是当我想要改变关系时,清除所有内容并添加几个不同的B(比我之前做的那样),如果我想在两端删除它,我会删除使用nullify或cascade的关系吗?

还有谁可以给​​我一个快速的例子说明我将如何解决这个问题?

我在想[b setValue:nil forKey:myRelationship]

之类的东西

那附近有什么关系吗?或者我还需要其他东西吗?

感谢。

1 个答案:

答案 0 :(得分:18)

这些关系类型在删除托管对象本身时适用,而不是清除关系。因此,如果您将对象'a'链接到'b','c'和'd',那么当您删除'a'时:

  • 如果关系为'cascade','b','c'和'd'也将全部删除
  • 如果它''无效',那么只会在这些对象上清除回到'a'的关系。

在所有情况下,您可以使用[b setValue:nil for Key:myRelationship]来清除双方的关系。