2009-11-29 87 views
3

我正在试验Core Data,plist文件,平面文件和sqlite。 我似乎无法区分小数据集的效率。根据表面上的差异(即API),我知道不同之处。可可触摸数据持久性

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

+1

这完全取决于你的目标。更好的问题是,“我的应用程序需要[列出您的要求],最好的方法是什么?” – 2009-11-29 23:16:25

+1

对于小数据集的效率可能主要是关于“什么能帮助我最快完成应用程序?” – 2009-11-30 02:01:45

回答

4

对于小数据集,如果您需要读写功能,您应该使用NSUserDefaults - 如果为您提供键值存储和检索的功能,而没有太多的麻烦。

如果您需要只读访问权限,plist文件是一个可行的选项,因为它保留了键值概念的抽象,并提供了一个可访问的API来处理。

如果您需要与关键值不同的持久性模型,建议使用平面文件,否则就意味着重新发明轮子。

Sqlite将适合您的数据以强大的关系方式组织而不是键值的情况,您宁愿让sql的强大功能直接与您的数据一起工作。

如果对于您的数据集(尽管可能很小)来说,管理低级存储和检索会带来不必要的不​​便,那么您可以选择CoreData。借助CoreData,代码可以在纯粹的对象层次上检索和操作数据,而不必担心存储和检索的细节,因此您更关注于域逻辑,而不是将其放在存储和数据操作逻辑上。