应用启动时更改核心数据

时间:2016-01-30 16:47:27

标签: ios swift networking xml-parsing

我正在开发一个iOS应用程序,可以下载有效期为4小时的xml数据。我想检查有效性,如果需要,在我的应用程序启动时更新此数据。

我正在使用此xml解析器加载数据http://www.theappguruz.com/blog/xml-parsing-using-nsxmlparse-swift

现在我正在调用beginParse()并解析AppDelegate.swiftfunction didiFinishLaunchingWithOptions中的数据。这是执行此后台任务的正确位置吗?

在我发布的教程中,这个人在视图控制器中执行它,但我想使用此解析器更新coredata,我需要它在应用程序启动后在后台运行。

提前致谢

1 个答案:

答案 0 :(得分:1)

执行此操作的专业方法是拥有一个功能(甚至是完整的类),以管理此下载/解析数据并异步保存在您的核心数据中,之后,您可以通知您要加载新内容的视图(或者如果出现错误或其他内容)。

关于在哪里调用该函数,它取决于......

如果您只应向用户显示最新信息(例如将屏幕锁定为“loading ...”或类似内容),请将调用放在第一个视图控制器中,因为只是因为更简单调用完成处理程序来解锁和加载数据。

但是,如果您可以加载“旧”信息,只是为了更快并在新内容可用时刷新,我认为您可以在appDelegate中调用没有问题。