2012-01-31 46 views
0

我想知道的优缺点,使用不同的数据集plist,sqlite3,xml?

我有使用以下所有三个数据集的工作代码。

  • 一个拉一个.xml文件从我的服务器
  • 一个从应用程序的包内访问SQLite3的数据库的副本(这是一个副本,以便我可以添加到它,从它删除,并保存更改
  • One从.plist访问数据。

我的问题是,现在我有一些经验创建这些数据集,并在应用中展示他们的数据,为什么/时,我会用一个比其他?

+0

有几个很好的答案在这里找到: http://stackoverflow.com/questions/5785011/iphone-different-ways-to-store-data-advantages-and-disadvantages – 2012-01-31 18:13:26

回答

1

XML文件,关闭服务器:

优点:您可以在任何时间提供新的数据给用户更新XML文件,好发到其他平台

缺点:需要一个网络连接,必须将XML解析为Obj-C对象,没有办法修改XML文件中的一个值而不重写整个文件,XML文件需要额外的元数据来解析为适当的Obj-C类型

sqlite文件包内:

优点:适用于大型数据集;您可以执行查询,排序和读取部分数据;您可以一次重写或添加一行;好发到其他平台

缺点:不得不sqlite的数据转换成对象 - 对象(我喜欢这个FMDB),更新您需要将您的应用程序提交给苹果公司的数据,并核准

的plist:

优点:适合短小的数据集,易于阅读的plist成一个OBJ-C容器

缺点:坏的大型数据集(超过1000个左右的项目),没办法只更新价值而不重写整个文件,难以发送到其他平台,必须提交您的应用程序苹果和具有核准

注:

你也可以把一个文件(任何格式),您的包内,并检查服务器是否有新的版本。

+0

感谢您的见解。关于你的笔记,你知道有人写过关于这种方法的任何地方吗?它令我感兴趣。 – 2012-02-19 04:45:07

+0

我没有具体了解任何有关这种方法的文章,但我相信这很常见。前一段时间,我们通过将版本号传递给Web服务器来在内部使用它,并且如果存在更新版本,服务器上的cgi会响应url,否则返回null。HTML5通过Web服务器上的清单文件做类似的事情。见http://www.w3.org/TR/html5/offline.html – EricS 2012-02-20 04:12:25