Mehrere Kontexte im Haupt-Thread: Warum und wann?

Ich suche nach einer einfachen Antwort, die Regeln für die Verwendung (oder Vermeidung) mehrerer Kontexte innerhalb desselben Threads aufzeigt (in meinem Fall der wichtigste).

Normalerweise richte ich in Core Data einen einzelnen Hauptkontext ein, der in der gesamten Anwendung verwendet wird. Wenn ich dann Hintergrundarbeiten ausführen muss, erstelle ich einen Kontext für jede von mir ausgeführte Hintergrundoperation.

Ein solcher Ansatz ist die meiste Zeit gültig. Core Data verwaltet den Speicher perfekt. Ich kann mich aber auch dazu entschließen, einen Teil des Objektgraphen (Verwaltung des Speicherbedarfs) explizit zu löschen. Darauf kann ich mich verlassen- (void)refreshObject:(NSManagedObject *)object mergeChanges:(BOOL)flag Weitergabe anNO param. Aber ich muss vorsichtig sein, wenn Änderungen anstehen, die verloren gehen könnten.

Nun ist meine Frage die folgende. Gibt es eine Faustregel, die es erlaubt, die Anzahl der Kontexte zu bestimmen, die ich in einem einzelnen Thread (Haupt-Thread) verwenden könnte? Mein Gedanke ist der folgende. Erstellen Sie einen Hauptkontext (in dem Änderungen gespeichert werden) und zusätzliche Kontexte, die nur zu Anzeigezwecken verwendet und bei Bedarf erstellt werden. Wenn ich damit fertig bin, kann ich einfach eine sendenreset um den Gesamtspeicher zu recyceln.

Irgendein Rat? Wenn es Auswirkungen auf neue iOS 5-APIs gibt, teilen Sie uns dies bitte mit.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage