【问题标题】:Inverse relationship on Child's childChild的孩子的反比关系
【发布时间】:2012-04-30 20:55:50
【问题描述】:

我正在尝试使用核心数据关系在孩子的子对象之间建立反向关系。

这是我想要实现的一个示例:

我有多个文件柜,每个文件柜有多个抽屉,每个抽屉有多个文件。

  • 文件柜有一个多对多抽屉
  • 抽屉与文件柜相反
  • Drawer 有一个 to-many to File
  • 文件与抽屉相反

当我将文件添加到抽屉时,抽屉将自身设置为相反的 但是,我也想要一个文件上的自动 cabinet 反转文件。所以我现在可以做类似[file cabinet] 和标准[file drawer] 的事情, 我无法创建这个特定的逆。

我知道我可以使用[[file drawer] cabinet],但这是我用例的一个简单示例。

【问题讨论】:

    标签: iphone ios ipad core-data relationship


    【解决方案1】:

    为什么不直接向您的 NSManagedObject 子类添加一个方法?

    - (Cabinet *)cabinet;
    {
        return self.drawer.cabinet;
    }
    

    【讨论】:

    • 我可以像你在这里所做的那样编写一些代码(我的真实用例可能有多达 5 个孩子),但我几乎正在寻找一个核心数据设置来级联没有代码的关系跨度>
    • 我不相信有这样的选择,公平地说,它违反了得墨忒耳定律,你最终会得到一个凌乱的对象图,其中每个对象都对其他对象了解太多。
    • 我想要的只是能够断言 fetch 像:(name contains[cd] "File NAME") && (cabinet == {CabinetObject})。你的说法违反了 Dementer 法则?
    • 使用不同的条件执行搜索很好,询问对象最有可能知道远距离相关的对象。
    • 要执行上述谓词,我需要 File 知道它在哪个柜子中。
    猜你喜欢
    • 2021-02-15
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    相关资源
    最近更新 更多