我正在从API中提取文本帖子列表。每个帖子都有标题和说明。我需要在iPhone应用程序中保留所有这些内容。
我应该使用哪种存储空间?我应该使用文档存储还是应该使用CoreData SQLite存储?
答案 0 :(得分:0)
如果要对它们执行查询,最好使用核心数据或sqlite。否则,我认为文档文件没问题。
答案 1 :(得分:0)
CoreData是一种在您的应用中保留数据的好方法。但请注意,在这种情况下,您需要清理太旧的数据,以避免在设备中使用过多的存储空间。此外,考虑到CoreData非常适合持久化对象关系,而在您的情况下,您可能不需要持久保存对象图,而只需要一个帖子数据列表,因此您不会受益于CoreData的查询功能。
但是如果你使用的是基于网络的API,你也可以利用API提供的数据缓存并使用iOS网络缓存机制。为简化起见,您可以利用MKNetworkKit这样的开源网络框架,这些框架将缓存文件系统中的缓存数据,并在它们到期后或在可自定义的时间之后(几天,几周,个月)。或者,如果您不想使用第三方工具,您仍然可以使用Apple提供的iOS NSURLCache对象。这种方法比核心数据简单得多:在这种情况下,您仍然可以从网络获取数据,如果已经缓存,则不会遵循网络路径,数据将直接从文件系统中获取。
答案 2 :(得分:0)
使用iCloud,文档更有意义,但@yibuyiqu是正确的,如果你想查询数据,数据库是最好的。
您可以将可搜索且最初可显示的数据放入数据库,并将其指向包含完整数据的文件(使用文件名的GUID)。这样,如果您使用iCloud,您的数据就可以导出了,因为它已经存在于文档中,并且是预期的。
另一个好处是搜索性能上升,数据库中的数据越少。因此,如果您要存储图像或其他繁重的数据,那么最好使用外部数据库。
答案 3 :(得分:0)
您可以使用UIManagedDocument来获取两者的好处。您也可以在以后添加iCloud同步。