我正在试验核心数据、plist 文件、平面文件和 sqlite。 我似乎无法区分小型数据集的效率。 就表面上的差异(即 API)而言,我知道差异。
但我想要了解的是哪种持久性模型最适合哪种情况。
最佳答案
对于小型数据集,如果您需要读写能力,您应该使用 NSUserDefaults
- 如果您可以轻松地进行键值存储和检索。
如果您需要只读访问权限,plist 文件是一个可行的选择,因为它保持对键值概念的抽象并提供可访问的 API 以供使用。
如果您需要与键值不同的持久性模型,则建议使用平面文件,否则就意味着重新发明轮子。
Sqlite 适合您的数据以强关系方式而不是键值方式组织的情况,您更愿意使用 sql 的强大功能直接处理您的数据。
如果对于你的数据集,不管它有多小,管理底层存储和检索都会带来不必要的不便,那么你可以选择 CoreData。使用 CoreData,代码可以在纯对象级别检索和操作数据,而不必担心存储和检索的细节,因此您将更专注于您的领域逻辑,而不是使其适应存储和数据操作逻辑。
关于iphone - Cocoa Touch 数据持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816898/