При использовании «новой» настройки iOS 10 Core Data с loadPersistentStores
, как я могу сбросить / удалить все?Я хотел бы избежать использования имен сущностей, но хотел бы использовать что-то вроде destroyPersistentStore
.
. Я установил свой стек следующим образом:
persistentContainer = NSPersistentContainer(name: "CoreData", managedObjectModel: mom)
let storeDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let url = storeDirectory.appendingPathComponent("CoreData.sqlite")
let description = NSPersistentStoreDescription(url: url)
description.shouldInferMappingModelAutomatically = true
description.shouldMigrateStoreAutomatically = true
persistentContainer.persistentStoreDescriptions = [description]
persistentContainer.loadPersistentStores(completionHandler: { (_, error) in
guard let error = error as NSError? else { return }
fatalError("Unresolved error: \(error), \(error.userInfo)")
})
persistentContainer.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
persistentContainer.viewContext.undoManager = nil
persistentContainer.viewContext.automaticallyMergesChangesFromParent = true
Я нашел решения только с помощью, например, BatchDeleteRequests, гдеМне нужно знать все имена сущностей, но я хотел бы что-то более общее и сбросить все - мне нужен самый эффективный / самый безопасный способ, когда пользователь выходит из системы.