想要在应用程序迅速终止之前做一些工作

时间:2019-04-08 16:26:14

标签: ios swift core-data

1-我想在应用程序迅速进入终止状态之前做一些工作。让我们举个例子-我想从coredata中删除数据。

2-如果coredata包含大量数据。这将需要更多时间才能删除。那该怎么办呢?估计有什么时间可以快速终止状态。

3 个答案:

答案 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上尝试一下。