Очистить тип памяти In-Memory - PullRequest
0 голосов
/ 21 января 2019

Я хотел бы удалить каждый ранее сохраненный объект из Core Data. Я использую тип хранилища In-Memory, поэтому NSBatchDeleteRequest не вариант.

Я попытался вызвать reset() в контексте, но, похоже, ничего не происходит.

У меня есть следующий код:

viewContext.reset()
let fetchRequest: NSFetchRequest<CompactJobManaged> = CompactJobManaged.fetchRequest()
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "highlightedAt", ascending: false),
                                NSSortDescriptor(key: "uploadedAt", ascending: true)]
print(try! viewContext.fetch(fetchRequest).count)

Я ожидаю, что оператор print в нижней части выведет 0 после вызова reset(), но вместо этого он выводит количество объектов, которые были сохранены ранее, несмотря на вызов reset() ранее.

Возможно, я неправильно использую функцию reset() для этой цели, но я не знаю других способов пакетного удаления всех объектов из хранилища в памяти.

Любая помощь будет оценена.

1 Ответ

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

Вы пробовали что-то вроде этого:

do {
    try persistentStoreCoordinator.destroyPersistentStoreAtURL(persistentStoreURL, withType: NSSQLiteStoreType, options: nil)

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