如何复制核心数据对象

时间:2011-10-17 22:55:00

标签: nsmanagedobject

嘿伙计们我遇到了一个小问题。在我的核心数据模型中,我有一个对象,我们称之为对象A.对象A与另一个对象,对象B具有一对一的关系。现在,对象C与对象B也有一对一的关系。所以对象A和B与同一个对象B有一对一的关系。基本上我在代码中有

Object B = (Code to create Object B)
A.b = Object B
C.b = A.b

这绝对没问题。我的问题是,当我删除对象时,对象b也会被删除,所以当我调用C.b = A.b时,我的程序崩溃了。如何删除对象A但保留对象B.

到目前为止,我已经尝试将删除规则更改为拒绝,但我不确定将拒绝置于关系中的哪个位置。我也尝试制作一个对象B的副本,但做了C.b = [A.b copy],但这只是崩溃了。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

以下是核心数据编程指南中涉及删除的部分:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdRelationships.html#//apple_ref/doc/uid/TP40001857-SW1

看起来您想要将对象A与B的关系设置为“nullify”,以便从B到A的关系被删除,但该对象仍然存在。

请记住,如果你不小心,nullify会造成孤儿。

相关问题