2012-04-01 3 views
0

異なるViewControllerクラスの2つのインスタンスが異なるタブ項目でアクセスされています。両方とも同じエンティティを使用しますが、異なる述語を使用します。 1つはすべての項目を表示し、もう1つはその述語に基づいてサブセットを表示します。コアデータ複数のFetchedResultsController/Views:どのように手動ですべて更新しますか?

「すべて」リストからオブジェクトを削除すると問題が発生します。すぐに更新されますが、他のタブに切り替えると、ビュー内を前後に移動した後でもオブジェクトはそのまま残ります。一定時間が経過してから5秒から10秒ほど経過すると、削除が他のビューに反映されます。

ViewControllerクラスは、FetchedResultsControllerを使用します。

原因は何ですか?結果をすぐに表示する方法はありますか?

+0

別の考慮事項:組み込みのアプリケーションマスター/ディテールテンプレートを使用すると成功しますが、UIManagedDocumentを使用しようとするとすぐに同期することができません。おそらく、これはManagedDocumentの問題だけでしょうか? –

答えて

0

reloadDataviewWillAppearに入力するだけです。タブバーの選択されたインデックスが変更されたときにこれをキャッチすることもできます。

+0

返事をありがとうが、私はすでにそれを試みました。私の推測では、NSManagedObjectContextと何か関係があるというのは、FetchedResultsControllerを再作成するときだけ起こるからです。 –

0

明らかに解決策はありません。 UIManagedDocumentを手動で更新する方法はありません。

Core Data managed object does not see related objects until restart Simulator

だから、解決策はデフォルトのマスター・ディテール・テンプレートを使用するとUIManagedDocumentを使用して停止することです:

この男は同じ結論に達しました。これに関する書類がありましたら、私の人生の一日を助けてくれたと思う。

関連する問題