RestKit with Core Data - 没有主键的映射

Posted

技术标签:

【中文标题】RestKit with Core Data - 没有主键的映射【英文标题】:RestKit with Core Data - Mapping without primary key 【发布时间】:2012-08-30 06:52:39 【问题描述】:

通过 RestKit 我加载了一个看起来像这样的 XML:

<item>
<test_number>1</test_number> 
<test_question>test question</test_question> 
<test_answer>test answer</test_question> 
</item>

<item>
<test_number>2</test_number> 
<test_question>test question 2</test_question> 
<test_question>test question 2</test_question> 
</item>
...

在我的核心数据中,我得到了获取数据的 Item 对象。如果我正在加载 xml,我希望更新我的核心数据对象,只有在核心数据中不存在该对象时才插入。通常我会设置 RestKit 能够识别可以更新哪个对象的主键。但就我而言,我可以有多个项目具有相同的测试编号,但其他问题和答案。所以没有主键。如何在 RestKit 中进行映射?

【问题讨论】:

【参考方案1】:

正如我通过一些论坛和文档发现的那样——RestKit 需要一个主键来将对象映射到 CoreData。否则它只会创建新对象而不是更新正确的对象。 一种解决方案是使用重要字段生成自己的主键,然后使用它。另一种方法是手动映射所有内容,而不是使用 RestKit 自动映射。

【讨论】:

以上是关于RestKit with Core Data - 没有主键的映射的主要内容,如果未能解决你的问题,请参考以下文章

RestKit / Core Data:远程删除的实体不会从 Core Data 中删除

RESTkit,Core Data:在将对象传输到 Core Data 之前对其进行处理

与 Core Data 和 RestKit 无关的关系

Restkit, Swift, Core data 一对多

RestKit / Core Data / Offline - 我需要 UUID 还是 RestKit 足够聪明?

RestKit Core Data 一对多映射