Ich habe ein grundlegendes Problem beim Synchronisieren von openWithCompletionHandler: (UIManagedDocument) mit den Hauptaktivitäten.iOS5.1: Synchronisierungsaufgaben (Warten auf eine Beendigung)
Situation: Ich habe eine Singleton-Klasse, die ein gemeinsames UIManagedDocument verwaltet. Diese Klasse stellt eine Methode bereit, die das Dokument in einem normalen Zustand liefern soll (d. H. Erstellt oder öffnet es, was auch immer erforderlich ist). Aber weil openWithCompletionHandler: seine Hauptaufgabe asynchron im Hintergrund ausführt, sollte mein Programm mit dem Einrichten der abgerufenenResultsController warten, bis das Dokument wirklich geöffnet ist. Die "viewWillAppear" -Methode (derzeit) produziert keine nützliche Ausgabe, wenn die Datenbank nicht bereit ist. Warten wäre für mich in Ordnung, aber wahrscheinlich benachrichtigt werden, wäre der bessere Weg. Vielleicht ist viewWillAppear nicht der richtige Punkt für setupFetchedResultsController, weil er nicht in einem Runloop aufgerufen wird.
Gibt es ein Standardmuster, um dies zu erreichen?
Etwas mehr Hintergrund (nicht so wichtig, nehme ich an) Ich arbeite an einer kleinen iOS 5.1 App mit einem CoreData UIManagedDocument. Ich ähnelte dem Beispiel aus Lektion 14 vom Stanford-Kurs im letzten Herbst in iTunes-U. Alles funktionierte einwandfrei, bis ich versuchte, die Handhabung von UIManagedDocument von der UITableViewController-Klasse in eine separate Klasse zu verschieben, die mein Dokument behandelte. In der ursprünglichen Version wurde der FetchedResultsController im Completion-Handler eingerichtet.