Удаление из CoreData не работает при повторном запуске приложения - PullRequest
0 голосов
/ 26 марта 2020

У меня есть функция, которая удаляет NSManagedObject из CoreData (Test является подклассом NSManagedObject:

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 в в этот момент, но если я перезапущу свое приложение, снова появится объект, который я только что удалил. Что я делаю не так, когда пытаюсь удалить этот объект?

1 Ответ

0 голосов
/ 26 марта 2020

Вы должны сохранить контекст, чтобы сохранить изменения, включая удаления.

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