数据插入上的核心数据级联

时间:2011-07-29 18:06:41

标签: ios core-data sqlite

我目前正在学习在iOS上使用Core Data,在我的测试应用程序中我有两个具有反向关系的实体,删除级联工作正常,但我想知道是否有可能更新或插入级联?例如,如果我创建实体1的新实例,我希望将其某些属性复制到实体2的新对象上。

我是否必须为此编写一些代码,或者是否有一些内置解决方案? 在互联网上搜索没有结果。

(因为我是Core Data的新手,因为我的持久存储是SQLite,所以插入一个表必须将一些属性复制到另一个表中)

2 个答案:

答案 0 :(得分:1)

尝试以不同的方式思考它。如果这两个对象共享这些属性,那么最好创建包含这些字段的另一个实体,实体1和实体2都将具有共同关系。拥有相同数据的多个副本似乎不是一个好主意,可以避免它。

答案 1 :(得分:0)

(你没有提到这种关系的多样性,这可能很重要。) 不确定这是否直接解决了您的问题,但是......

如果你有A <--> B。 (一对一的关系)

级联规则:  A cascades: B  B nils: A

(这是A“拥有”B描述)

(高于A / B ==实体,低于A / B ==实体实例)

如果A(1) -> B(2)

然后你设置

A(3) -> B(2)

B(2)与A(1)的反向关系在被设置为A(3)之前是零 A(1)留有零值(如果在数据模型描述中无效,那么你现在遇到麻烦,否则,它是B-less)

A(1) -> <nil>