【问题标题】:Delete from CoreData not working on app retstart从核心数据中删除在应用重启时不起作用
【发布时间】:2020-03-25 22:55:27
【问题描述】:

我有一个从 CoreData 中删除 NSManagedObject 的函数(TestNSManagedObject 的子类:

public func delete(_ test: Test, completion: @escaping (Bool) -> Void) {
    guard let appDelegate = UIApplication.shared.delegate as? AppDelegate else { return completion(false) }

    let managedContext = appDelegate.persistentContainer.viewContext

    do {
        managedContext.delete(test)
        completion(true)
    } catch let error as NSError {
        print("Could not delete. \(error), \(error.userInfo)")
        completion(false)
    }
}

现在,该对象似乎正在从 CoreData 中删除,但如果我重新运行我的应用程序,我刚刚删除的对象再次出现。尝试删除此对象时我做错了什么?

【问题讨论】:

  • 我的回答能解决你的问题吗?

标签: swift core-data nsmanagedobject completion


【解决方案1】:

您必须保存上下文才能使更改持续存在,包括删除。

do {
    try managedContext.save()
} catch let error as NSError {
    print("Unresolved error \(error), \(error.userInfo)")
}

【讨论】:

    猜你喜欢
    • 2016-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2011-02-19
    相关资源
    最近更新 更多