0

UITableView で NSFetchedResultsController を使用して、基礎となる sqlite データベースから iOS アプリにデータを表示しています。アプリのフローのある時点で、別のコントローラーからデータベースの複数の行のフラグを更新する必要があります。

すべてのオブジェクトを繰り返し処理し、フラグを変更してから、再保存するのが理想的だとは思いません。

これを行う最善の方法はありますか?

4

1 に答える 1

0

このようにすることができます。

  1. フェッチされたコントローラーをデリゲートとして辞任します (非常に重要)
  2. CoreData への変更を実行し、コンテキストを保存します
  3. フェッチされたコントローラー デリゲートを再度割り当て、フェッチを再度実行する
  4. reload table を呼び出します。表示されている行のみが更新されます

これは、コンテキストの保存と変更に関する通常の CoreData 通知で対処できます。必要な操作を実行できます。コンテキストが保存されたときにのみ通知されます。

于 2012-10-05T16:39:03.790 に答える