0

我是核心数据的新手。

我有一个数据模型,其中有两个表和它们之间的 1-N 关系。

应用程序从服务下载所有数据并将数据保存在每个表中。

此外,这些表是相关的,因此想要这样做:

a) 获取满足一定条件的table2的所有元素。

b) 对于 table2 中的每个元素,标识符查找 table1 / 保存 table1 的 id。

c) 我得到了表 1 中符合要求 ID 的项目。

d) 我将表 2 与 1 联系起来。

我没有能力这样做。:(

我不知道这种以这种方式在表之间建立关系的方法是否好。

4

1 回答 1

1

这有点难以回答。如果您将 Core Data 视为一个 SQL 表,您只会让自己陷入困境。

核心数据不是关于连接和搜索表,而是关于对象图。一个对象与另一个对象有关系,而另一个对象与另一个对象具有反向关系。本质上,您应该做的是:

  1. 这是您存储在表 2 中的实体的获取请求,受一个定义您的条件的谓词的约束。
  2. 您实际上并不直接在 Core Data 中处理 id。您几乎从不直接处理密钥。
  3. 第 1 步返回了一个对象集合,您可以在此基础上运行进一步的谓词来过滤它。
  4. 这就是反向关系的用途。

我知道这不能回答你的实际问题。我试图让您将您的核心数据存储视为彼此相关的对象的集合,而不是一堆链接的表。

于 2012-08-09T12:34:19.520 回答