我们知道,当app
被杀死时,在AppDelegate
中,系统将调用applicationWillTerminate:
方法。
但是你知道,如果archive
asingleton
,这是一件非常重要的事情,而且如果有一个fetch data
动作,那么app
会在network
或archive
还没有完成的时候被杀死吗?
在archive
方法中我可以singleton
aapplicationWillTerminate:
吗?applicationWillTerminate:
方法:
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
最佳答案
从docs:
这种方法的实现大约有五秒的时间来执行任何任务和返回。如果方法在时间到期前不返回,系统可能会完全终止进程。
有了这些信息,如果您确定您可以从网络中检索一些信息并在不到5秒的时间内存档您的对象,那么是的,您可以用这种方法来完成。
就我个人而言,我不会这么做,因为你完全受制于你的互联网连接质量,这很容易导致你的网络请求需要超过5秒。