我正在开发一个iOS应用程序,它将从事件的RSS源中解析XML,并在桌面视图中显示每个事件的详细信息。每个事件都有一个标题,一个描述(可选),一个日期和一个时间。我能够使用NSXMLParser解析XML数据;然而,我不知道应该如何存储数据,并使其在应用程序关闭后仍然存在。如何使用Swift将持久数据存储在我的iOS应用程序中?
我读过,我可以使用NSCoder来坚持数据,但我不知道这是否是最好的路线。
有没有人有什么想法或建议,我可以做什么?
任何帮助表示赞赏。
我正在开发一个iOS应用程序,它将从事件的RSS源中解析XML,并在桌面视图中显示每个事件的详细信息。每个事件都有一个标题,一个描述(可选),一个日期和一个时间。我能够使用NSXMLParser解析XML数据;然而,我不知道应该如何存储数据,并使其在应用程序关闭后仍然存在。如何使用Swift将持久数据存储在我的iOS应用程序中?
我读过,我可以使用NSCoder来坚持数据,但我不知道这是否是最好的路线。
有没有人有什么想法或建议,我可以做什么?
任何帮助表示赞赏。
您有几个选项用于保存数据。
NSUserDefaults
适用于用户设置 - 少量数据。他们似乎不适合你的想法。NSCoding
是存储结构化数据的好方法,没有数据库的开销,但它很慢in comparison to core data。
核心数据是苹果的ORM,这是相当强大的,但不容易围绕你的头。
我answered a similar question最近,它进入有关NSCoding
有一个完整的示例,并进一步阅读一些链接更多的细节。
感谢您的回复Jan,我将最多存储20个事件对象。我应该把重点放在NSCoding上吗?我会阅读你对上面链接的类似问题的回答。 – Iavor
@ivdekov听起来像是一个很好的选择。 – SmokeDispenser
如果我想将RSS提要中的数据与我将使用NSCoding存储的数据进行同步,那么您是否有任何建议? – Iavor
每次打开应用程序时都不会解析数据吗? – Bawpotter
有很多选项可用,从https://github.com/RestKit/RestKit到将数据写入文件系统。不同的选择需要不同的开销,在这方面这是一个广泛的问题。 –
@Bawpotter每当应用程序打开时我都会解析数据,但我想存储所有事件,以便应用程序用户即使在设备未连接到互联网时也可以查看事件。 – Iavor