Page MenuHomeMusing Studio

No OneTemporary

diff --git a/Shared/PersistenceManager.swift b/Shared/PersistenceManager.swift
index e7d22f4..57e8a5d 100644
--- a/Shared/PersistenceManager.swift
+++ b/Shared/PersistenceManager.swift
@@ -1,50 +1,51 @@
import CoreData
#if os(iOS)
import UIKit
#elseif os(macOS)
import AppKit
#endif
class PersistenceManager {
static let persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "LocalStorageModel")
container.loadPersistentStores { _, error in
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
if let error = error {
fatalError("Unresolved error loading persistent store: \(error)")
}
}
return container
}()
init() {
let center = NotificationCenter.default
#if os(iOS)
let notification = UIApplication.willResignActiveNotification
#elseif os(macOS)
let notification = NSApplication.willResignActiveNotification
#endif
// We don't need to worry about removing this observer because we're targeting iOS 9+ / macOS 10.11+; the
// system will clean this up the next time it would be posted to.
// See: https://developer.apple.com/documentation/foundation/notificationcenter/1413994-removeobserver
// And: https://developer.apple.com/documentation/foundation/notificationcenter/1407263-removeobserver
// swiftlint:disable:next discarded_notification_center_observer
- center.addObserver(forName: notification, object: nil, queue: nil) { [weak self] _ in
- guard let self = self else { return }
- self.saveContext()
- }
+ center.addObserver(forName: notification, object: nil, queue: nil, using: self.saveContextOnResignActive)
}
func saveContext() {
if PersistenceManager.persistentContainer.viewContext.hasChanges {
do {
try PersistenceManager.persistentContainer.viewContext.save()
} catch {
print("Error saving context: \(error)")
}
}
}
+
+ func saveContextOnResignActive(_ notification: Notification) {
+ saveContext()
+ }
}

File Metadata

Mime Type
text/x-diff
Expires
Fri, Jan 31, 9:43 AM (1 h, 56 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3145664

Event Timeline