openWithCompletionHandler: (UIManagedDocument) をメインのアクティビティと同期する際に基本的な問題があります。
状況: 共有 UIManagedDocument を管理するシングルトン クラスがあります。このクラスは、ドキュメントを通常の状態で配信するメソッドを 1 つ提供します(つまり、必要に応じてドキュメントを作成または開きます)。しかし、openWithCompletionHandler: は主な仕事をバックグラウンドで非同期に行うため、私のプログラムはドキュメントが実際に開かれるまで fetchedResultsController の設定を待つ必要があります。「viewWillAppear」メソッド (現在) は、データベースの準備ができていない場合、有用な出力を生成しません。待っていても大丈夫ですが、通知を受ける方がおそらく良い方法です。実行ループで呼び出されないため、viewWillAppear が setupFetchedResultsController の適切なポイントではないことが判明する可能性があります。
これを達成するための標準的なパターンはありますか?
もう少し背景 (それほど重要ではないと思います) は、CoreData UIManagedDocument を含む小さな iOS 5.1 アプリに取り組んでいます。iTunes-U の昨年秋のスタンフォード コースのレッスン 14 の例に似ていました。UIManagedDocument の処理を UITableViewController クラスから離れて、ドキュメントを処理する別のクラスに配置しようとするまで、すべてが正常に機能していました。元のバージョンでは、FetchedResultsController は完了ハンドラーに設定されていました。