Есть ли способ сделать пакетное удаление всех данных, хранящихся во всех сущностях в данных ядра?Удаление всех данных в объекте Core Data в Swift 3
Я где-то читал, что в iOS 9 или 10 яблоко представило способ делать пакетные удаления, но я не могу найти никакой хорошей информации об этом.
В конечном счете, мне просто нужна функция, которая проходит через сущность и удаляет все данные в ней. Похоже, он должен быть достаточно простым, но документация/учебники для него оказались чрезвычайно трудными для поиска.
Любые мысли?
Редактировать
Я добавил следующий код в IBAction, прикрепленного к кнопке:
@IBAction func clearAllData(_ sender: AnyObject) {
let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: "PLProjects")
let request = NSBatchDeleteRequest(fetchRequest: fetch)
//get the data from core data
getPLData()
//reload the table view
tableView.reloadData()
}
Это не похоже на работу, однако. Если я закрою проект и снова его открою, данные все еще там. Я предполагаю, что это также почему представление таблицы не обновляется, потому что данные фактически не удаляются.
Я редактировал свой пост, чтобы показать код, который я использовал, - но это не похоже на работу для меня. В основном у меня есть UITableView, загруженный в мой контроллер представления, и я показываю все «проекты» в объекте под названием «PLProjects». У меня также есть экземпляр кнопки на экране с ассоциированным с ним IBAction. Обновления в моем комментарии показывают код в этом IBAction - который не удаляет элементы из Core Data Entity, а также не обновляет таблицу. –
Недостаточно создать запрос. Вы должны выполнить его также. Запросы не запускаются автоматически, они запускаются, когда вы говорите им, чтобы они запускались. –
А, простите об этом. Я неправильно понял, что вы изначально разместили. Я думал, что второй фрагмент кода должен был добавить предикат. Итак - с этим сказанным - во втором фрагменте есть, что такое «мок»? –