0

我正在从 API 中提取文本帖子列表。每个帖子都有一个标题和描述。我需要将它们全部保留在我的 iPhone 应用程序中。

我应该使用哪个存储?我应该使用文档存储还是应该使用 CoreData SQLite 存储?

4

4 回答 4

0

使用 iCloud,文档更有意义,但@yibuyiqu 是正确的,如果您想查询您的数据,最好使用数据库。

您可以将可搜索和最初可显示的数据放在数据库中,并让它指向包含完整数据的文件(使用 GUID 作为文件名)。这样,如果您使用 iCloud,您的数据就可以导出,因为它已经在文档中,这是它所期望的。

另一个好处是,数据库中的数据越少,搜索性能就会越高。因此,如果您要存储图像或其他大量数据,最好将其存储在数据库之外。

于 2012-05-01T09:54:12.847 回答
0

CoreData 是一种在应用程序中持久保存数据的好方法。但请考虑,在这种情况下,您需要清理太旧的数据以避免在设备中使用过多的存储空间。除了考虑 CoreData 非常适合持久化对象关系,而在您的情况下,您可能不需要持久化对象图而只需要持久化数据列表,因此您不会利用 CoreData 的查询功能。

但是,如果您使用基于网络的 API,您也可以利用 API 提供的数据缓存并使用 iOS 网络缓存机制。为了简化事情,您可以利用开源网络框架,例如MKNetworkKit,它将缓存数据持久保存在文件系统中,并在它们过期或在可自定义的时间(几天、几周、几个月)之后将其删除。或者,如果您不想使用 3rd 方工具,您仍然可以使用 Apple 在 iOS 中提供的 NSURLCache 对象。这种方法比核心数据方法简单得多:在这种情况下,您仍然会从网络中获取数据,如果它已被缓存但不会遵循网络路径,则数据将直接从文件系统中获取。

于 2012-05-01T07:10:59.110 回答
0

您可以使用UIManagedDocument来获得两者的好处。您还可以稍后添加 iCloud 同步。

于 2012-05-01T10:02:55.007 回答
0

如果要对它们执行查询,最好使用核心数据或 sqlite。否则,我认为文档文件是可以的。

于 2012-05-01T07:00:09.630 回答