iphone - 需要解决方案将 XML 作为对象或 iPhone 应用程序中的对象存储

标签 iphone xml sqlite core-data nsdata

我是 iPhone 应用程序开发的初学者。请帮帮我。

在我的 iPhone 应用程序中,我发出 API 请求并获取 XML。

我必须解析它,将其存储在对象(或 xml 等)中,并在稍后的时间点将其显示在我的应用程序中(它更像是存储当前状态)。

我弄清楚了如何请求 API、解析它,但不知道如何存储它。这是我的限制。

  1. 当我下次退出并重新打开应用程序时,我必须保留下载的 XML 数据。
  2. 我已经探索并获得了请求 API 并使用 NSXMLParser 解析它的解决方案。但对于将其存储在手机内存或应用程序包中,我还没有明确的想法。
  3. 当我搜索各种线程和博客来存储数据时,我了解了几种执行此操作的方法。

    a.保存 NSDefaults

    b. SQLite数据库

    c.将其存储为 plist

    b.核心数据

我对以上任何一个都不确定。请让我知道哪种方法是存储 XML 数据以供以后使用以及时间的最佳方法(我猜应该不是以上任何一种方法 - ;)),以便我可以检查它并在稍后阶段更新它。

提前致谢

最佳答案

您可以实现解析器,以便它创建并填充 Core-Data NSManagedObjects。然后,这些可以非常简单地保存到数据存储中,并且可以由应用程序中的其他层(例如 View )使用,就像使用普通对象一样。

Core-Data 可以将这些托管对象持久保存到许多不同的数据存储类型中 - 包括 SQLite。一旦持久化,应用程序就可以从 Core-Data 数据存储加载数据,而不用重新解析 XML。

我自己已经成功实现了类似的解决方案,建议阅读 Apple's Core Data Tutorial让您开始。

关于iphone - 需要解决方案将 XML 作为对象或 iPhone 应用程序中的对象存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1270965/

相关文章:

iphone - 如何防止TableViewCell在回收过程中重复?

entity-framework - 数据库首先使用system.data.sqlite 1.0.93创建 Entity Framework 6.1.1模型

jQuery 和 XML 解析的最佳方式

html - 为什么在选择之前 XPath 否定无法正常工作?

javascript - innerHTML 与 XML 元素一起使用吗?

python - 尝试插入 NULL 与 None 作为 '?' 占位符不适用于 sqlite3 for Python

sqlite - 当sqlite中的任何一列都可以为空时,如何在多列上设置唯一约束

ios - AppDelegate Swift 中的选项卡式应用程序和核心数据功能

ios - 在 iOS 中执行 'order by date' 查询所需的日期格式

iphone - 使用 WSDLToObj-c 工具使用 Obj-C 生成的代码