Swift - delete all entities using NSFetchedResultsController
// Prepare NSFetchedResultsController
fileprivate lazy var fetchedResultsController: NSFetchedResultsController<Article> = {
// Create Fetch Request
let fetchRequest: NSFetchRequest<Article> = Article.fetchRequest()
// Configure Fetch Request
fetchRequest.sortDescriptors = [NSSortDescriptor(key: #keyPath(Article.sourceName), ascending: true)]
// Create Fetched Results Controller
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.persistentContainer.viewContext, sectionNameKeyPath: nil/*#keyPath(Article.sourceName)*/, cacheName: nil)
// Configure Fetched Results Controller
fetchedResultsController.delegate = self
return fetchedResultsController
}()
// Delete all entities
let articles = fetchedResultsController.fetchedObjects
if let articles = articles {
for article in articles {
article.managedObjectContext?.delete(article)
}
}