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
e0b069c0a4
commit
d15b0e0735
2 changed files with 8 additions and 2 deletions
|
|
@ -46,6 +46,10 @@ struct PersistenceController {
|
||||||
backgroundContext.automaticallyMergesChangesFromParent = true
|
backgroundContext.automaticallyMergesChangesFromParent = true
|
||||||
backgroundContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
backgroundContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
||||||
try? backgroundContext.setQueryGenerationFrom(.current)
|
try? backgroundContext.setQueryGenerationFrom(.current)
|
||||||
|
|
||||||
|
container.viewContext.automaticallyMergesChangesFromParent = true
|
||||||
|
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
|
||||||
|
try? container.viewContext.setQueryGenerationFrom(.current)
|
||||||
}
|
}
|
||||||
|
|
||||||
func save(_ context: NSManagedObjectContext? = nil) {
|
func save(_ context: NSManagedObjectContext? = nil) {
|
||||||
|
|
|
||||||
|
|
@ -274,6 +274,8 @@ public class SourceManager: ObservableObject {
|
||||||
existingSourceList.urlString = sourceUrl
|
existingSourceList.urlString = sourceUrl
|
||||||
existingSourceList.name = rawResponse.name
|
existingSourceList.name = rawResponse.name
|
||||||
existingSourceList.author = rawResponse.author
|
existingSourceList.author = rawResponse.author
|
||||||
|
|
||||||
|
try PersistenceController.shared.container.viewContext.save()
|
||||||
} else {
|
} else {
|
||||||
let sourceListRequest = SourceList.fetchRequest()
|
let sourceListRequest = SourceList.fetchRequest()
|
||||||
let urlPredicate = NSPredicate(format: "urlString == %@", sourceUrl)
|
let urlPredicate = NSPredicate(format: "urlString == %@", sourceUrl)
|
||||||
|
|
@ -293,9 +295,9 @@ public class SourceManager: ObservableObject {
|
||||||
newSourceUrl.urlString = sourceUrl
|
newSourceUrl.urlString = sourceUrl
|
||||||
newSourceUrl.name = rawResponse.name
|
newSourceUrl.name = rawResponse.name
|
||||||
newSourceUrl.author = rawResponse.author
|
newSourceUrl.author = rawResponse.author
|
||||||
}
|
|
||||||
|
|
||||||
try backgroundContext.save()
|
try backgroundContext.save()
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
} catch {
|
} catch {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue