Ich arbeite an einer Anwendung, die eine Suche nach einem Online-Service durchführen und viele Ergebnisobjekte generieren wird. Ein Result-Objekt ist ein NSManagedObject, das nach Bedarf initialisiert wird, indem es mit einem NSManagedObjectContext verknüpft wird.Wie erstelle ich viele temporäre Objekte und speichere dann nur eines mit Core Data?
Benutzer sollten in der Lage sein, ein "Ergebnis" auszuwählen und es als "Favorit" zu speichern. In der Anwendung ist dies so einfach wie das Verknüpfen der Result-Entität mit einer neuen Favorite-Entität und das Speichern des Kontextes.
Das Problem ist, dass jedes einzelne Ergebnis im Kontext natürlich in der Datenbank zusammen mit der gewünschten Favorit gespeichert wird.
Ich habe viele Beispiele für die Verwendung mehrerer NSManagedObjectContext-Instanzen zur Verwaltung verschiedener Erstellungs- und Persistenzsituationen gesehen. Sie alle scheinen sich um die Idee zu drehen, neue Instanzen mit einem Kontext zu erstellen und sie dann in einem anderen Kontext zu speichern, um eine andere FetchRequest-Ausführung zu vermeiden. Diese Beispiele lösen das Problem nicht, da sie immer noch dazu führen, dass jede Ergebniseinheit gespeichert wird.
Hat jemand irgendwelche Vorschläge? Ich bin total angetan davon.
Wir gingen mit dem ersten Teil Ihrer Antwort. Wir verwenden einen Kontext pro Objektgraph und speichern diesen nach Bedarf. – user174448