使用内存数据存储的原因是什么?

时间:2011-12-10 19:48:49

标签: ios cocoa-touch

我正在阅读Apress书籍Pro Core Data,它说明了以下内容:

  

...远程数据的本地缓存可以受益于内存中的持久性   存储

我没有看到如何缓存内存持久性存储中的数据比仅仅让应用程序的根视图控制器挂起数据更有用。有人可以更详细地阐述内存持久性存储可能有用的情况吗?

3 个答案:

答案 0 :(得分:5)

您的问题表明对MVC的误解。您已经问过“为什么模型更快地缓存数据而不是控制器。”控制器根本不保存数据,因此它的速度和速度无关紧要。该模型保存数据。在Core Data应用程序中,该模型与持久存储绑定。

持久存储可以在内存中这一事实使编码非常方便,因为调用者不必担心数据的存储方式。在您的示例中,调用者需要针对存储在本地存储中的数据与远程存储的行为不同(处理不同的类)。核心数据将其抽象化,使您可以随时随地移动商店。

答案 1 :(得分:3)

与简单地推出自己的非核心数据类层次结构相比,将Core Data与内存存储一起使用的好处是,您可以从与持久化数据无关的Core Data的所有其他功能中受益。这些包括跟踪和撤消支持,关系维护和变更传播,自动验证,与标准UI组件(例如NSFetchedResultsController),KVC / KVO等的集成。

答案 2 :(得分:0)

  

...远程数据的本地缓存

这里的关键工作是远程数据,因此您可能不希望在应用程序启动之间保留这些数据。在这种情况下,内存存储是有意义的。