我正在开发一个iOS应用程序,可以下载有效期为4小时的xml数据。我想检查有效性,如果需要,在我的应用程序启动时更新此数据。
我正在使用此xml解析器加载数据http://www.theappguruz.com/blog/xml-parsing-using-nsxmlparse-swift
现在我正在调用beginParse()
并解析AppDelegate.swift
中function didiFinishLaunchingWithOptions
中的数据。这是执行此后台任务的正确位置吗?
在我发布的教程中,这个人在视图控制器中执行它,但我想使用此解析器更新coredata,我需要它在应用程序启动后在后台运行。
提前致谢
答案 0 :(得分:1)
执行此操作的专业方法是拥有一个功能(甚至是完整的类),以管理此下载/解析数据并异步保存在您的核心数据中,之后,您可以通知您要加载新内容的视图(或者如果出现错误或其他内容)。
关于在哪里调用该函数,它取决于......
如果您只应向用户显示最新信息(例如将屏幕锁定为“loading ...”或类似内容),请将调用放在第一个视图控制器中,因为只是因为更简单调用完成处理程序来解锁和加载数据。
但是,如果您可以加载“旧”信息,只是为了更快并在新内容可用时刷新,我认为您可以在appDelegate中调用没有问题。