存储要与我的iPhone应用程序一起使用的数据

时间:2011-12-12 17:31:36

标签: ios xml xml-parsing

我正在开发一个iPhone应用程序(好吧,我正在将Windows Phone 7.1迁移到iPhone),我有一些问题:

以前,在我开发Windows Phone 7.1应用程序时,我已经问过这个问题,Storing data in XML or SQL?。现在我有同样的问题,但在这种情况下它是关于iPhone的。

我在iOS开发中发现,XML并不像Windows Phone那样容易阅读。在这个问题Reading XML attributes and text中,您可以找到我用来读取XML文件的方法。

我敢肯定,我不需要使用数据库只存储22个项目,但是,还有其他方法来存储这22个项目吗?或者,也许,您知道一种简单的XML阅读方式。

我需要这样的东西:

<?xml version="1.0" encoding="utf-8" ?>
<cards>
  <card id ="0">
    <name lang="en">Mad</name>
    <description lang="en">This...</description>
  </card>
...
</cards>

此数据将只读:用户永远不会更改它。它将与我的应用程序捆绑在一起。

4 个答案:

答案 0 :(得分:0)

Objective C中的XML解析并不具有挑战性。请参阅“Cocoa基于树的XML编程指南简介”中的此示例http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NSXML_Concepts/NSXML.html#//apple_ref/doc/uid/TP40001263-SW1

答案 1 :(得分:0)

我正在我的项目中使用Core Data,尽管我并没有那么多存储空间。这真的不是那么困难,特别是因为您可以在几个Apple模板中选择Core Data作为选项。在iOS开发人员库中,他们也有一个非常好的基础教程。

Core Data Starting Point

我想我是否会使用Plist或核心数据之间的主要区别在于我是希望我的数据在编译时是静态的还是由用户更新。

答案 2 :(得分:0)

您尚未说明如何使用此数据。

您是在谈论简单地将数据与您的应用程序捆绑在一起吗?如果是这样,最简单的方法是使用属性列表(plist)。 NSArrayNSDictionary都有方便的方法来直接从plists中提取数组和字典,并且在Xcode中有一个图形编辑器。

您是否通过网络服务加载此数据?你需要支持多个平台吗?如果是这种情况,那么JSON将是更好的选择。 JSON支持仅包含在iOS 5中,但如果您需要支持早期版本,JSONKit将为您处理此问题。

您是否必须更新并运行对数据的查询?核心数据是这种事情的更好选择。当用户首次运行应用程序时,您可以使用plist或JSON文件的内容预加载它。

有很多不同的选择,除非你提供更多细节,否则很难给你很好的建议。

答案 3 :(得分:-1)