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

Iphone 我应该使用哪个存储:文档存储还是SQLite?,iphone,objective-c,ios,data-storage,Iphone,Objective C,Ios,Data Storage,我正在从API中提取一个文本帖子列表。每篇文章都有标题和描述。我需要在我的iPhone应用程序中保存所有这些内容 我应该使用哪个存储空间?我应该使用文档存储还是使用CoreData SQLite存储?如果要对它们执行查询,最好使用core data或SQLite。否则,我认为文档文件就可以了。CoreData是在应用程序中持久保存数据的一种好方法。但是,在这种情况下,您需要清理太旧的数据,以避免在设备中占用太多的存储空间。此外,考虑到CordDATA对于保持对象关系是非常好的,而在你的情况下,你

我正在从API中提取一个文本帖子列表。每篇文章都有标题和描述。我需要在我的iPhone应用程序中保存所有这些内容


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

如果要对它们执行查询,最好使用core data或SQLite。否则,我认为文档文件就可以了。

CoreData是在应用程序中持久保存数据的一种好方法。但是,在这种情况下,您需要清理太旧的数据,以避免在设备中占用太多的存储空间。此外,考虑到CordDATA对于保持对象关系是非常好的,而在你的情况下,你不需要坚持一个对象图,而只需要一个POST数据列表,所以你将不会受益于CordADATA的查询特征。
但是,如果您使用的是基于网络的API,您还可以利用API提供的数据缓存,并使用iOS网络缓存机制。为了简化工作,您可以利用开源网络框架,例如将缓存数据持久保存在文件系统中,并在缓存数据过期时或在可定制的时间(天、周、月)后将其清除。或者,如果您不想使用第三方工具,您仍然可以在iOS中使用Apple提供的NSURLCache对象。这种方法比核心数据方法简单得多:在这种情况下,您仍将从网络获取数据,如果数据已缓存,则不会遵循任何网络路径,数据将直接从文件系统获取。

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

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

另一个好处是数据库中的数据越少,搜索性能就越高。因此,如果您要存储图像或其他繁重数据,最好将其置于数据库外部。

您可以使用这两种方法来获得好处。稍后您还可以添加iCloud同步