create background managed object context
This commit is contained in:
@ -76,6 +76,12 @@
|
||||
ReferencedContainer = "container:Omnivore.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<CommandLineArguments>
|
||||
<CommandLineArgument
|
||||
argument = "-com.apple.CoreData.ConcurrencyDebug 1"
|
||||
isEnabled = "YES">
|
||||
</CommandLineArgument>
|
||||
</CommandLineArguments>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
||||
@ -12,7 +12,7 @@ public class PersistentContainer: NSPersistentContainer {
|
||||
let model = NSManagedObjectModel(contentsOf: modelURL)!
|
||||
let container = PersistentContainer(name: "DataModel", managedObjectModel: model)
|
||||
|
||||
container.viewContext.automaticallyMergesChangesFromParent = false
|
||||
container.viewContext.automaticallyMergesChangesFromParent = true
|
||||
container.viewContext.name = "viewContext"
|
||||
container.viewContext.mergePolicy = NSMergePolicy.mergeByPropertyObjectTrump
|
||||
container.viewContext.undoManager = nil
|
||||
|
||||
@ -14,13 +14,20 @@ public final class DataService: ObservableObject {
|
||||
let networker: Networker
|
||||
|
||||
let persistentContainer: PersistentContainer
|
||||
let backgroundContext: NSManagedObjectContext
|
||||
var subscriptions = Set<AnyCancellable>()
|
||||
|
||||
var viewContext: NSManagedObjectContext {
|
||||
persistentContainer.viewContext
|
||||
}
|
||||
|
||||
public var deletedHighlightsIDs = Set<String>()
|
||||
|
||||
public init(appEnvironment: AppEnvironment, networker: Networker) {
|
||||
self.appEnvironment = appEnvironment
|
||||
self.networker = networker
|
||||
self.persistentContainer = PersistentContainer.make()
|
||||
self.backgroundContext = persistentContainer.newBackgroundContext()
|
||||
|
||||
persistentContainer.loadPersistentStores { _, error in
|
||||
if let error = error {
|
||||
|
||||
Reference in New Issue
Block a user