Source code for the WriteFreely SwiftUI app for iOS, iPadOS, and macOS
Nelze vybrat více než 25 témat
Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
|
- import CoreData
-
- extension NSManagedObjectContext {
- /// Executes the given `NSBatchDeleteRequest` and directly merges the changes to bring the given
- /// managed object context up to date.
- ///
- /// Credit: https://www.avanderlee.com/swift/nsbatchdeleterequest-core-data/
- ///
- /// - Parameter batchDeleteRequest: The `NSBatchDeleteRequest` to execute.
- /// - Throws: An error if anything went wrong executing the batch deletion.
- public func executeAndMergeChanges(using batchDeleteRequest: NSBatchDeleteRequest) throws {
- batchDeleteRequest.resultType = .resultTypeObjectIDs
- let result = try execute(batchDeleteRequest) as? NSBatchDeleteResult
- let changes: [AnyHashable: Any] = [NSDeletedObjectsKey: result?.result as? [NSManagedObjectID] ?? []]
- NSManagedObjectContext.mergeChanges(fromRemoteContextSave: changes, into: [self])
- }
- }
|