【问题标题】:Core Data cascade on Data Inserts数据插入上的核心数据级联
【发布时间】:2011-07-29 18:06:40
【问题描述】:

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

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

(另外,由于我是 Core Data 的新手,所以我在考虑表,因为我的持久存储是 SQLite 的,因此插入一个表必须本质上将一些属性复制到另一个表中)

【问题讨论】:

    标签: ios core-data sqlite


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      如果你有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) 留下一个 nil 值(如果这在数据模型描述中无效,那么您现在遇到了麻烦,否则,它是 B-less)

      A(1) -> <nil>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多