Обнуление данных в CoreData

coredata
swift3

#1

Здравствуйте, уважаемые форумчане!

Пытаюсь внедрить в свое приложение CoreData, и не разобравшись с перезаписью на место предыдущих записей решил полностью сбрасывать результат, и перезаписывать все “на чистую”.

Проблема возникла с функцией, которую я решил использовать для стирания данных. Вот она:

func deleteAllRecords() {
        let delRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Programms")
        let batchDeleteRequest = NSBatchDeleteRequest(fetchRequest: delRequest)
        do {
            try CoreDataManager.instance.managedObjectContext.execute(batchDeleteRequest)
        } catch {
            
        }
    }

Проблема в том, что если использовать ее во время viewDidLoad - она без проблем удаляет все, что осталось в CoreData с прошлой сессии. Если же инициализировать ее вызов в любом другом месте - она ничего не удалит

В чем может быть проблема и как ее решить?


#2

Попробуйте сохранить контекст после удаления.


#3

Не помогает.

Я не очень уверен, но может стоит его как-то открывать предварительно? Конкретно в этой функции


#4