将数据保存在两个持久存储中

时间:2014-08-17 19:03:57

标签: ios objective-c cocoa-touch core-data magicalrecord

我有一个应用程序,其中有一个搜索功能可以执行网络请求。但是,使用与整个应用程序相同的模型框架。

这意味着当用户搜索我需要从找到的数据创建托管对象的内容时,保存并显示它们。然而,这会使用户最近的数据弄乱旧记录。

理想情况下,我希望将搜索中找到的托管对象保存在单独的内存持久性存储中,这样它就不会使主数据出现混乱。

我之前没有做过这样的事情,那么接近它的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

正如@stevesliva所建议的那样,您不需要让自己陷入维护多个部分内存存储的复杂性。这里的方法是创建子上下文并将在线数据提取到此上下文中。一旦您不再需要数据,只需丢弃上下文。

如果您决定保存下载的数据,只需通过save:将更改“推送”到主要上下文。此时,您可以对数据进行必要的调整,使其适合用户数据。根据您的模型,一个可行的解决方案可能是在其中一个实体上创建另一个属性,该实体将链接对象标记为与用户创建的对象不同。