核心数据与文件系统

时间:2010-11-01 00:07:32

标签: iphone

将数据存储在CORE数据中并将其存储在文件系统中有什么区别。在什么基础上应该在他们之间做出选择?

1 个答案:

答案 0 :(得分:13)

当您的应用程序数据非常结构化时,核心数据很不错,而当您只是在半结构化数据(例如,带有一些任意键和值的NSDictionary)的情况下,将事物序列化到文件系统时非常有用。

Core Data的另一个优点是,您可以(在使用NSSQLiteStoreType存储类型时)存储(并有效地查询)可以容纳在设备内存中的更多数据,这对于手动序列化对象来说是一个挑战

所以简而言之,如果满足以下任何条件,我会推荐Core Data:

  1. 您可能拥有的数据超出了设备内存中可以轻松修复的数据
  2. 您需要有效地查询数据
  3. 您的数据结构合理
  4. 我建议仅在您使用少量松散结构化数据时才使用序列化数据,例如用户偏好词典。

    在任何情况下,如果您还没有,您应该参加核心数据教程。即使您最终没有使用Core Data,但出于其他原因(例如,因为它与Undo / Redo系统相关联)理解这些概念非常有用。