@@ -117,36 +117,39 @@ public actor PersistentContainerStorage: ModelStorage, ObservableObject {
117
117
}
118
118
}
119
119
120
+ public func fetchID( _ fetchRequest: FetchRequest ) async throws -> [ ObjectID ] {
121
+ return try await performBackgroundTask { ( context, model) in
122
+ try context. fetchID ( fetchRequest)
123
+ }
124
+ }
125
+
120
126
public func count( _ fetchRequest: FetchRequest ) async throws -> UInt {
121
127
try await performBackgroundTask { ( context, model) in
122
128
try context. count ( fetchRequest)
123
129
}
124
130
}
125
131
126
132
public func insert( _ value: ModelData ) async throws {
133
+ defer { objectWillChange. send ( ) }
127
134
try await performBackgroundTask { ( context, model) in
128
135
try context. insert ( value, model: model)
129
136
}
130
137
}
131
138
132
139
public func insert( _ values: [ ModelData ] ) async throws {
140
+ defer { objectWillChange. send ( ) }
133
141
try await performBackgroundTask { ( context, model) in
134
142
try context. insert ( values, model: model)
135
143
}
136
144
}
137
145
138
146
public func delete( _ entity: EntityName , for id: ObjectID ) async throws {
147
+ defer { objectWillChange. send ( ) }
139
148
try await performBackgroundTask { ( context, model) in
140
149
try context. delete ( entity, for: id)
141
150
}
142
151
}
143
152
144
- public func fetchID( _ fetchRequest: FetchRequest ) async throws -> [ ObjectID ] {
145
- try await performBackgroundTask { ( context, model) in
146
- try context. fetchID ( fetchRequest)
147
- }
148
- }
149
-
150
153
private func performBackgroundTask< T> (
151
154
schedule: NSManagedObjectContext . ScheduledTaskType = . immediate,
152
155
_ task: @escaping ( NSManagedObjectContext , NSManagedObjectModel ) throws -> T
0 commit comments