0

Marcus Zarraが推奨する NSManagedObjectContext 依存性注入を使用しようとしています。AppDelegateで MOC を作成し、それを保持プロパティとして各ビュー コントローラーに渡しています。

通常、これはうまく機能しているように見えますが、NSFetchedResultsController を介してデータを表示するモーダル テーブル ビュー コントローラーでは、アプリが起動されたときにデータベースにあったものしか表示されません。つまり、ユーザーが実行時にデータを追加すると、データはデータベースに正しく追加されますが、モーダル ViewController が開かれ、NSFetchedResultsController が (注入された NSManagedObjectContext を使用して) 作成されたときに表示されません。ただし、アプリを閉じて再起動し、モーダル ビュー コントローラーを開くと、前のセッションで追加されたデータが表示されます。

NSFetchedResultsController を作成する前に、何らかの方法で MOC を更新する必要がありますか? 新しいユーザーデータが入力された後、モーダルView ControllerとNSFetchedResultsControllerが作成され、フェッチが実行されていることは間違いありません。

4

1 に答える 1

0

まず、アプリ デリゲートとビュー コントローラーの両方で moc をログに記録して、両方の場所の moc が同じアドレスを持っているため、同じオブジェクトであることを確認する必要があります。

そうであれば、FRC のキャッシュに問題がある可能性が高いです。キャッシュを nil に設定するか、キャッシュを更新して、問題が解決するかどうかを確認してください。

于 2010-09-15T15:35:37.657 に答える