habe ich eine NSManagedObjectContext mit:Wie kann man nicht gespeicherte Daten von CoreData aus dem Hintergrundthread von Swift holen?
lazy var managedObjectContext: NSManagedObjectContext = {
let coordinator = self.persistentStoreCoordinator
var managedObjectContext = NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)
managedObjectContext.persistentStoreCoordinator = coordinator
return managedObjectContext
}()
Dann habe ich einen API-Aufruf mit AlamoFire und in der Callback machen Ich versuche, die Eltern zu retten:
let objectDescription = NSEntityDescription.entity(forEntityName: "Parent", in: managedObjectContext)
var managedObject = NSManagedObject(entity: objectDescription!, insertInto: managedObjectContext) as? Parent
Wich erfolgreich abgeschlossen (yay!)
Dann mache ich einen API-Aufruf, um ihre Kinder zu bekommen und im Rückruf versuche ich, die Eltern zu holen, um sie zu verknüpfen:
let fetchRequest:NSFetchRequest<Parent> = NSFetchRequest<Parent>(entityName: "Parent")
fetchRequest.includesPendingChanges = true
let result = try managedObjectContext.fetch(fetchRequest)
Jetzt bin immer ich result.count = 0
:(
Diese beiden Operationen in Coredata verschiedenen Threads auftreten, und ich finde, dass das das Problem ist ... Ist es wirklich? Wie löse ich das?
Vielen Dank :)