CoreData:持久存储和临时存储

时间:2013-05-17 07:10:10

标签: ios core-data

我计划使用CoreData API在我的iOS应用中存储文件。我希望有两个数据存储:第一,大,但可能是临时的,用于缓存;第二个 - 小,但我想确保数据是持久的,永远不会删除。这样做的最佳做法是什么?

1 个答案:

答案 0 :(得分:2)

您需要创建2个单独的Core Data'堆栈' - 即2个不同的模型(假设存储的数据各不相同),持久存储,持久存储协调器和管理对象上下文。两个堆栈都会将模型保存到文件中,但是您的临时文件应保存到NSTemporaryDirectory(或者更好的缓存目录),而永久文件应保存到NSHomeDirectory

除此之外,核心数据的使用并不特别。您只需要为要保存/检索的数据使用适当的托管对象上下文。

如果你想将任何对象从一个商店移动到另一个商店,你需要编写代码来做到这一点(即获取对象,在另一个商店中创建一个新对象,然后复制每个属性 - 使用{{ 1}}和dictionaryWithValuesForKeys:)。