我想知道的优缺点,使用不同的数据集。plist,sqlite3,xml?
我有使用以下所有三个数据集的工作代码。
- 一个拉一个
.xml
文件从我的服务器 - 一个从应用程序的包内访问SQLite3的数据库的副本(这是一个副本,以便我可以添加到它,从它删除,并保存更改
- One从
.plist
访问数据。
我的问题是,现在我有一些经验创建这些数据集,并在应用中展示他们的数据,为什么/时,我会用一个比其他?
我想知道的优缺点,使用不同的数据集。plist,sqlite3,xml?
我有使用以下所有三个数据集的工作代码。
.xml
文件从我的服务器.plist
访问数据。我的问题是,现在我有一些经验创建这些数据集,并在应用中展示他们的数据,为什么/时,我会用一个比其他?
XML文件,关闭服务器:
优点:您可以在任何时间提供新的数据给用户更新XML文件,好发到其他平台
缺点:需要一个网络连接,必须将XML解析为Obj-C对象,没有办法修改XML文件中的一个值而不重写整个文件,XML文件需要额外的元数据来解析为适当的Obj-C类型
sqlite文件包内:
优点:适用于大型数据集;您可以执行查询,排序和读取部分数据;您可以一次重写或添加一行;好发到其他平台
缺点:不得不sqlite的数据转换成对象 - 对象(我喜欢这个FMDB),更新您需要将您的应用程序提交给苹果公司的数据,并核准
的plist:
优点:适合短小的数据集,易于阅读的plist成一个OBJ-C容器
缺点:坏的大型数据集(超过1000个左右的项目),没办法只更新价值而不重写整个文件,难以发送到其他平台,必须提交您的应用程序苹果和具有核准
注:
你也可以把一个文件(任何格式),您的包内,并检查服务器是否有新的版本。
感谢您的见解。关于你的笔记,你知道有人写过关于这种方法的任何地方吗?它令我感兴趣。 – 2012-02-19 04:45:07
我没有具体了解任何有关这种方法的文章,但我相信这很常见。前一段时间,我们通过将版本号传递给Web服务器来在内部使用它,并且如果存在更新版本,服务器上的cgi会响应url,否则返回null。HTML5通过Web服务器上的清单文件做类似的事情。见http://www.w3.org/TR/html5/offline.html – EricS 2012-02-20 04:12:25
有几个很好的答案在这里找到: http://stackoverflow.com/questions/5785011/iphone-different-ways-to-store-data-advantages-and-disadvantages – 2012-01-31 18:13:26