在iPhone上保存/解析XML的最佳方法

时间:2011-11-15 20:27:42

标签: iphone objective-c xml ios xcode

这是我的第一个问题,所以我会尽力遵守问题指南。

我正在开发一个解析的XML应用程序和要在表格中显示的XML提要。解析不是问题,但我不确定在初始运行应用程序后优化加载时间的最佳方法。

以下是我正在考虑的不同方法:

  1. 每次加载应用程序时解析XML提要。 简单的方法,但每次运行应用程序的加载时间可能更长。

  2. 抓取Feed并将其存储在本地(如.xml),然后在本地解析。然后,每次打开应用程序时,进行http调用以查看Feed是否已更改。如果没有,请在本地解析。如果是这样,请下载新的Feed并在本地解析。 初始加载时间会更长,但可以在以后的运行中减少(如果Feed未更新)。如果用户信号错误但需要查看数据,此选项将非常有用。

  3. 解析Feed并将其存储到本地sqlite db中。然后,每次打开应用程序时,进行http调用以查看Feed是否已更改。如果是,请检测已添加/删除的对象并相应地更改本地数据库。如果没有,从本地db加载数据。 这可能是最好的选择,但我不确定找到更改需要多长时间。

  4. 我的Feed只有大约100个左右的项目,每个项目大约有20个字段。

    初始解析时间:

    • 大约4-5秒,全棒。
    • 大约5-7秒,3条。

    非常感谢任何关于哪种选项最有效的见解。

2 个答案:

答案 0 :(得分:0)

第三种解决方案显然是最好的,它可以让您的应用离线工作并快速启动。要检测更改,只需将xml文件的MD5存储在数据库中,然后将其与新XML文件的MD5进行匹配即可。如果数据已更改,则只需丢弃所有先前的数据。

答案 1 :(得分:0)

我认为xml数据变化的频率应该是一个因素。如果它每天只能改变一次?我加载它,保存它,并检查更新。如果存在更新,请下载新内容并覆盖旧内容。