Очистить все объекты базы данных ядра, кроме одного объекта - PullRequest
0 голосов
/ 16 января 2019

Мне нужно очистить все данные объекта Core в CoreData, но не один объект. то есть, что один объект не должен быть удален. Один из способов - очистить сущность от сущности и снять с нее все необходимое. Но можем ли мы сделать резервную копию или сохранить объект в оперативной памяти, очистить все базы данных и заново сохранить объект. Возможно ли это?

1 Ответ

0 голосов
/ 16 января 2019

Вы можете пакетно удалить объекты с NSBatchDeleteRequest, код принимает managedObjectContext в качестве текущего контекста управляемого объекта:

let entityNamesToDelete = ["Foo", "Bar", "Baz"]
let persistentStoreCoordinator = managedObjectContext.persistentStoreCoordinator!

do {
    for entityName in entityNamesToDelete {
        let request = NSFetchRequest<NSFetchRequestResult>(entityName: entityName)
        let deleteRequest = NSBatchDeleteRequest(fetchRequest: request)

        try persistentStoreCoordinator.execute(deleteRequest, with: managedObjectContext)

    }
    try managedObjectContext.save()

} catch { print(error) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...