首页 > 解决方案 > 将 AppDelegate 添加到项目以支持删除核心数据实体?

问题描述

使用 Xcode 12 创建一个新项目并选择“使用核心数据”会创建一个 Persistence.swift 文件,而不是之前的 AppDelegate.swift 和 SceneDelegate.swift 文件。我使用 Persistence.swift 在我的应用项目中创建数据库、添加条目、查看和删除单个条目。将 AppDelegate.swift 添加到我的项目以删除整个数据库是否可行?这里描述了许多方法Core Data: Quickest way to delete all instances of an entity

例如,可以从 AppDelegate.swift 中调用此函数来删除实体的所有实例吗?那怎么做?通过将函数添加到 AppDelegate 类?怎么称呼?

let fetchRequest: NSFetchRequest<NSFetchRequestResult> = NSFetchRequest(entityName: "Car")
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)

do {
    try myPersistentStoreCoordinator.execute(deleteRequest, with: myContext)
} catch let error as NSError {
    // TODO: handle the error
}

标签: swiftuiios14

解决方案


推荐阅读