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 之前对其进行处理