applicationWillTerminate

applicationWillTerminate

我们知道,当app被杀死时,在AppDelegate中,系统将调用applicationWillTerminate:方法。
但是你知道,如果archiveasingleton,这是一件非常重要的事情,而且如果有一个fetch data动作,那么app会在networkarchive还没有完成的时候被杀死吗?
archive方法中我可以singletonaapplicationWillTerminate:吗?
applicationWillTerminate:方法:

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

}

最佳答案

docs
这种方法的实现大约有五秒的时间来执行任何任务和返回。如果方法在时间到期前不返回,系统可能会完全终止进程。
有了这些信息,如果您确定您可以从网络中检索一些信息并在不到5秒的时间内存档您的对象,那么是的,您可以用这种方法来完成。
就我个人而言,我不会这么做,因为你完全受制于你的互联网连接质量,这很容易导致你的网络请求需要超过5秒。

10-08 12:30