Cocoa Touch数据持久化

3

我正在尝试使用Core Data、plist文件、平面文件和sqlite进行实验。

对于小数据集,我似乎无法区分它们的效率差异。

就表面上的区别(即API)而言,我知道它们之间的区别。

但我想要感受到的是哪种持久性模型最适合哪种情况。


1
这完全取决于你的目标。更好的问题是,“我的应用程序需要[列出您的要求],最佳方法是什么?” - Joshua Nozzi
1
对于小数据集而言,效率可能主要关乎“什么能帮助我尽快完成应用程序?” - David Maymudes
1个回答

4
对于小数据集,如果需要读写能力,建议使用NSUserDefaults——它为您提供了键值存储和检索的功能,而不会带来太多麻烦。
如果只需要只读访问,则plist文件是一个可行的选择,因为它将抽象保持在键值概念上,并提供了一个易于使用的API。
如果需要与键值不同的持久性模型,则推荐使用平面文件,否则这意味着重新发明轮子。
如果您的数据以强关系方式组织,并且想要使用sql直接处理数据而不是键值,则Sqlite适合您。
然而,对于您的数据集,无论它有多小,管理低级存储和检索都是不必要的繁琐,那么您可以选择CoreData。使用CoreData,代码可以在纯对象级别上检索和操作数据,而不必担心存储和检索的细节,因此您将更专注于领域逻辑而不是适应存储和数据操作逻辑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接