我有一个应用程序,它使用 RestKit 和一个用于核心数据的 SQLite 存储与远程 API 对话。当我要添加服务器端搜索时,我不得不找到一种有效显示搜索结果的方法。为了实现这一点,我使用了一个 NSFetchedResultsController,它与另一个与 SQLite 存储具有相同模式的内存存储相关联,并且由 RestKit 提供支持。当 RestKit 搜索 API 的搜索端点时,它将响应映射回内存存储。
这对我的需要非常有效,但现在引起了另一个问题。当我从服务器取回这些“瞬态”对象并且用户选择了一个时,需要在该点将其复制到持久存储中(超出该点的各种交互将从服务器加载其他对象并尝试将它们绑定回来到原始对象-如果它们位于两个不同的对象上下文中,则会失败)。
tl;博士
有人对如何将整个对象(实体和关系)从一个核心数据存储复制到另一个有任何建议吗?或者,这甚至有必要吗?有没有更简单的方法来使用 RestKit 完成同样的任务?
通过更改搜索而不使用内存存储会更好地为我服务吗?如果是这样,我应该如何存储这些对象?