Skip to content

Commit 30c4952

Browse files
committed
Fix CoreData managed object deletion
1 parent c2cae98 commit 30c4952

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

Sources/CoreDataModel/NSManagedObjectContext.swift

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,17 @@ extension NSManagedObjectContext: ModelStorage {
4444
}
4545

4646
public func delete(_ entity: EntityName, for id: ObjectID) throws {
47+
try delete(entity, for: [id])
48+
}
49+
50+
public func delete(_ entity: EntityName, for ids: [ObjectID]) throws {
51+
for id in ids {
4752
guard let managedObject = try self.find(entity, for: id) else {
48-
assertionFailure("Object not found for \(id)")
49-
throw CocoaError(.coreData)
53+
continue
54+
}
55+
self.delete(managedObject)
5056
}
51-
self.delete(managedObject)
57+
try self.save()
5258
}
5359

5460
public func fetchID(_ fetchRequest: FetchRequest) throws -> [ObjectID] {

0 commit comments

Comments
 (0)