对于rss阅读器类型应用程序,Plist vs SQLite vs Core Data?

时间:2011-01-20 18:59:03

标签: iphone objective-c core-data

我正在开发类似于RSS新闻阅读器的应用程序。我需要一些机制来在本地存储解析的XML。我尝试使用Plist,但随着应用程序复杂性的增长,它很快变得非常复杂。

我想知道为应用程序存储数据的最佳方法是什么,经常需要向设备读取/写入数据?

3 个答案:

答案 0 :(得分:3)

Plist应该用于有些静态的简单和有限的数据需求要求。例如,他们在PickerViews中表现很好。 SQLite和CoreData提供真正的数据访问和操作,如果数据发生变化,数据完整性。可以对数据模型进行标准化,并在实体之间维护动态关系。此外,可以使用关系连接执行复杂查询。

我已经发布了使用SQLite的应用程序,而更多的是因为iOS SDK(前核心数据),标准的SQL语法减少了工作量。

我的最新应用程序,SureSafe Home Inventory完全使用CoreData。 CoreData生成并使用SQLite数据库。核心数据是我在早期应用程序中编写的SQLite代码之上的一层。虽然最初的学习曲线可能有点艰难,但值得改变!我花了2个月的时间阅读所有内容并使用Apple示例代码来熟练掌握。但它解决了良好的数据库编码的头痛问题。甚至还有数据库模型版本控制,因此如果您稍后进行升级,则可以添加新的数据库字段并迁移现有客户数据。

Long Winded ...但是如果你开始新的,请使用CoreData。我与Apple没有任何关系。

Steve S.

答案 1 :(得分:1)

我发现CoreData和SQLite的使用相当简单,同时允许你所暗示的并发症类型。根据您要存储的内容,一个将优于另一个。对于你正在做的事情,我猜猜SQLite可能是最好的。请参阅这些问题,以便进一步讨论两者:

答案 2 :(得分:0)

使用plist实际上是你提到的3中最简单的形式。如果您计划存储大量数据,我建议使用plist,而不是CoreData和SQlite。

或者,您可以将XML文件下载到Documents目录并相应地解析它们。