iphone - Cocoa Touch 数据持久化

标签 iphone objective-c cocoa-touch uikit

我正在试验核心数据、plist 文件、平面文件和 sqlite。 我似乎无法区分小型数据集的效率。 就表面上的差异(即 API)而言,我知道差异。

但我想要了解的是哪种持久性模型最适合哪种情况。

最佳答案

对于小型数据集,如果您需要读写能力,您应该使用 NSUserDefaults - 如果您可以轻松地进行键值存储和检索。

如果您需要只读访问权限,plist 文件是一个可行的选择,因为它保持对键值概念的抽象并提供可访问的 API 以供使用。

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

Sqlite 适合您的数据以强关系方式而不是键值方式组织的情况,您更愿意使用 sql 的强大功能直接处理您的数据。

如果对于你的数据集,不管它有多小,管理底层存储和检索都会带来不必要的不​​便,那么你可以选择 CoreData。使用 CoreData,代码可以在纯对象级别检索和操作数据,而不必担心存储和检索的细节,因此您将更专注于您的领域逻辑,而不是使其适应存储和数据操作逻辑。

关于iphone - Cocoa Touch 数据持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816898/

相关文章:

objective-c - 如何使iPhone的录音和播放音频电平表看起来相同?

iphone - iPhone SDK录制视频,然后通过电子邮件发送

iphone - 如何控制 iOS 中 View 的同时触摸数

iphone - MKMapKit。中心图显示所有 MKAnnotation

objective-c - 从 nm 命令隐藏可执行符号

objective-c - 将 NSImage 导出到 Excel 工作表

ios - 检查 iOS 6 中是否安装了 Google map 应用程序

ios - UITextView 上的清除按钮

objective-c - 如何从字体文件中获取字体名称?

objective-c - 延迟 -(id)init 实例;是否可以?