X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/5802c153cae64142d84e3cd5f762939501ee7e53..refs/heads/main:/Captura/Data/Persistence.swift?ds=sidebyside diff --git a/Captura/Data/Persistence.swift b/Captura/Data/Persistence.swift index 3ae66c3..55dee56 100644 --- a/Captura/Data/Persistence.swift +++ b/Captura/Data/Persistence.swift @@ -17,36 +17,36 @@ import CoreData struct PersistenceController { - static let shared = PersistenceController() + static let shared = PersistenceController() - static var preview: PersistenceController = { - let result = PersistenceController(inMemory: true) - return result - }() + static var preview: PersistenceController = { + let result = PersistenceController(inMemory: true) + return result + }() - let container: NSPersistentCloudKitContainer + let container: NSPersistentCloudKitContainer + + init(inMemory: Bool = false) { + container = NSPersistentCloudKitContainer(name: "Captura") - init(inMemory: Bool = false) { - container = NSPersistentCloudKitContainer(name: "Captura") - #if DEBUG - do { + do { // Use the container to initialize the development schema. try container.initializeCloudKitSchema(options: []) - } catch { + } catch { // Handle any errors. - } + } #endif - - if inMemory { - container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null") - } - container.loadPersistentStores(completionHandler: { (storeDescription, error) in - if let error = error as NSError? { - // Replace this implementation with code to handle the error appropriately. - // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. - - /* + + if inMemory { + container.persistentStoreDescriptions.first!.url = URL(fileURLWithPath: "/dev/null") + } + container.loadPersistentStores(completionHandler: { (storeDescription, error) in + if let error = error as NSError? { + // Replace this implementation with code to handle the error appropriately. + // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. + + /* Typical reasons for an error here include: * The parent directory does not exist, cannot be created, or disallows writing. * The persistent store is not accessible, due to permissions or data protection when the device is locked. @@ -54,9 +54,9 @@ struct PersistenceController { * The store could not be migrated to the current model version. Check the error message to determine what the actual problem was. */ - fatalError("Unresolved error \(error), \(error.userInfo)") - } - }) - container.viewContext.automaticallyMergesChangesFromParent = true - } + fatalError("Unresolved error \(error), \(error.userInfo)") + } + }) + container.viewContext.automaticallyMergesChangesFromParent = true + } }