我可以在`applicationWillTerminate:`中存档对象吗?

时间:2016-12-13 07:18:44

标签: ios swift

众所周知,当app被杀时,AppDelegate系统会调用applicationWillTerminate:方法。

但是你知道,如果archive一个singleton,这是非常重要的事情,而且如果有fetch data行动,那么app是否已经networkarchive尚未完成时被杀?

我可以在archive方法中singleton applicationWillTerminate:吗?

applicationWillTerminate:方法:

func applicationWillTerminate(_ application: UIApplication) {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

}

1 个答案:

答案 0 :(得分:0)

来自docs

  

您执行此方法的时间大约为秒,以执行任何任务并返回。如果方法在时间到期之前没有返回,系统可能会完全终止该进程。

鉴于此信息,如果您确定可以从网络中检索某些信息并在不到5秒的时间内归档您的对象,那么您可以在该方法中执行此操作。

就个人而言,我不会那样做,因为你完全受到互联网连接质量的限制,很容易导致网络请求超过5秒。