1-我想在应用程序迅速进入终止状态之前做一些工作。让我们举个例子-我想从coredata中删除数据。
2-如果coredata包含大量数据。这将需要更多时间才能删除。那该怎么办呢?估计有什么时间可以快速终止状态。
答案 0 :(得分:1)
保证在应用终止之前收到的最后一个事件是applicationDidEnterBackground(_:)
。如果您可能需要更多时间来完成冗长的任务,请使用beginBackgroundTask(expirationHandler:)
。
答案 1 :(得分:0)
在您的AppDelegate中查看一下,功能存根已经为您提供
func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}
答案 2 :(得分:0)
如果您的应用程序需要从头开始,那么添加 destroyPersistentStoreAtURL(_:withType:options:)可以解决此问题。 示例:
do {
try persistentStoreCoordinator.destroyPersistentStoreAtURL(persistentStoreURL, withType: NSSQLiteStoreType, options: nil)
} catch { }
在AppDelegate的dataStoreCoordinator上尝试一下。