import CoreData
class CoreDataStack{
private let modelName: String
lazy var managedContext: NSManagedObjectContext = {
return storeContainer.viewContext
}()
lazy var backgraundContext: NSManagedObjectContext = {
return storeContainer.newBackgroundContext()
}()
private lazy var storeContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: modelName)
container.loadPersistentStores(completionHandler: { (_, error) in
if let error = error as NSError? {
print("Ошибка \(error.localizedDescription)")
}
})
return container
}()
init(modelName: String) {
self.modelName = modelName
}
func save() {
guard managedContext.hasChanges else { return }
do {
try managedContext.save()
} catch let error as NSError {
print("Ошибка \(error.localizedDescription)")
}
}
}