Settings: Fix how modified source lists are saved
Since an existing source list is fetched from the ViewContext, save in the scope of that context. This will fix any fetching issues when grabbing sources from the new URL. Signed-off-by: kingbri <bdashore3@gmail.com>
This commit is contained in:
parent
f56954ac00
commit
2fce2b5bc5
2 changed files with 8 additions and 2 deletions
|
|
@ -46,6 +46,10 @@ struct PersistenceController {
|
|||
backgroundContext.automaticallyMergesChangesFromParent = true
|
||||
backgroundContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
||||
try? backgroundContext.setQueryGenerationFrom(.current)
|
||||
|
||||
container.viewContext.automaticallyMergesChangesFromParent = true
|
||||
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
||||
try? container.viewContext.setQueryGenerationFrom(.current)
|
||||
}
|
||||
|
||||
func save(_ context: NSManagedObjectContext? = nil) {
|
||||
|
|
|
|||
|
|
@ -274,6 +274,8 @@ public class SourceManager: ObservableObject {
|
|||
existingSourceList.urlString = sourceUrl
|
||||
existingSourceList.name = rawResponse.name
|
||||
existingSourceList.author = rawResponse.author
|
||||
|
||||
try PersistenceController.shared.container.viewContext.save()
|
||||
} else {
|
||||
let sourceListRequest = SourceList.fetchRequest()
|
||||
let urlPredicate = NSPredicate(format: "urlString == %@", sourceUrl)
|
||||
|
|
@ -293,9 +295,9 @@ public class SourceManager: ObservableObject {
|
|||
newSourceUrl.urlString = sourceUrl
|
||||
newSourceUrl.name = rawResponse.name
|
||||
newSourceUrl.author = rawResponse.author
|
||||
}
|
||||
|
||||
try backgroundContext.save()
|
||||
try backgroundContext.save()
|
||||
}
|
||||
|
||||
return true
|
||||
} catch {
|
||||
|
|
|
|||
Loading…
Reference in a new issue