我目前正在学习在iOS上使用Core Data,在我的测试应用程序中我有两个具有反向关系的实体,删除级联工作正常,但我想知道是否有可能更新或插入级联?例如,如果我创建实体1的新实例,我希望将其某些属性复制到实体2的新对象上。
我是否必须为此编写一些代码,或者是否有一些内置解决方案? 在互联网上搜索没有结果。
(因为我是Core Data的新手,因为我的持久存储是SQLite,所以插入一个表必须将一些属性复制到另一个表中)
答案 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>