更新iPhone应用程序数据的最佳方法是什么?

时间:2010-10-05 13:09:48

标签: iphone performance

我正在为iPhone开发一个应用程序,其中一部分用于处理货币和每日汇率的列表。我使用SQLite来存储所有这些费率。

现在我来到了我想用新的汇率制作数据库更新部分的部分。

首先想到的是向具有特定日期的服务器发出请求并回读包含以下内容的XML:

<date value="2010-10-04">
  <currency name="EUR" rate="xxx" />
  <currency name="USD" rate="yyy" />
  <currency name="GBP" rate="zzz" />
........
</date>
<date value="2010-10-05">
  <currency name="EUR" rate="xxx" />
  <currency name="USD" rate="yyy" />
  <currency name="GBP" rate="zzz" />
........
</date>

但是现在我觉得制作自己的格式不是更好,比如:

#|2010-10-04#EURxxx#USDyyy#GBPzzz#|2010-10-05#EURxxx#USDyyy#GBPzzz##

分隔符为#。已知日期总是需要11个字符并以|开头和货币代码需要3个字符,我可以搜索费率,直到找到#符号。

因为我想尽可能少地发送数据,所以我认为第二种方法将比通常的XML更好,即使我将XML缩减为:

<d v="2010-10-04">
  <c name="EUR" r="xxx" />
  <c name="USD" r="yyy" />
  <c name="GBP" r="zzz" />
........
</d>
<d v="2010-10-05">
  <c name="EUR" r="xxx" />
  <c name="USD" r="yyy" />
  <c name="GBP" r="zzz" />
........
</d>

你的职业选手是什么?对此有利吗?

4 个答案:

答案 0 :(得分:3)

XML更易于阅读和解析。除非您每天获取数以万计的货币和每日费率,否则字节数不应成为问题。

答案 1 :(得分:3)

JSON格式将分割专有格式和标准格式之间的差异。它比XML更简洁,并且具有vodkhang正确期望的灵活性和可维护性。

答案 2 :(得分:2)

专业人士:

  • 正如您所说,检索时间更短,更快。
  • 更快解析

缺点:

  • 如果您在移动端开发服务器端和其他开发人员,那么当没有任何意义时他可能会感到困惑

  • 当您拥有越来越多的属性时很难扩展,如果您删除或更改某些属性,则必须检查所有代码以进行更改。

答案 3 :(得分:2)

如果你使用PHP作为服务器端语言,CFPropertyList非常好。 易于与您的服务器代码集成,并在iOS中内置支持(例如,可以直接从plist文件创建NSDictionary)。

链接:http://code.google.com/p/cfpropertylist/