将数据保存在具有复杂层次结构的核心数据中



假设我们有以下实体。

  • 实体A
  • 实体B
  • 实体C

层次

  • A有许多B
  • B每个都有许多C
  • C有一个名为name的字符串值

我有三个视图控制器,每个控制器显示一个实体列表。第一个视图显示实体A。点击实体A后,它会列出该特定A中的所有实体B。点击B后,它将列出该特定B中的所有主体C。

我加了一个A FirstA。第一个A有三个B。每个B都有7个C。这目前存在于核心数据中。比方说,我想在任意的B.中添加一个名为"奇迹_C"的新C

这是最让我困惑的部分。目前在我的脑海中,我会这样添加它。列出所有的A.(在本例中为1(。查看所有B的FirstA,直到我找到我想添加marvelous_C的B。我找到这个B,然后将另一个C添加到现有C的列表中。保存核心数据。

这在我看来相当不明智。有更好的方法吗?有没有我可以效仿的模式?比方说,我在看最后一个视图(在特定的B中显示实体C的视图(。有没有办法将它添加到特定的集合中,而不必遍历整个层次结构?

这篇文章可能令人困惑。随时等待任何澄清。谢谢

在显示要添加另一个C的俯视图控制器中,只需保留对当前B的引用。这可能是所讨论的视图控制器的@property

这应该是最简单的解决方案。

通常在核心数据中设置对象之间的关系时,也会设置反向关系。因此,您可以像C.B一样从C访问B
您也可以像C.B = B一样设置从CB的关系。

最新更新