2

私は、コースがスケジュールと対多の関係にあるコースとスケジュールの2つのエンティティを持つアプリに取り組んでいます。1 つのコースに複数のスケジュールを設定できます。私のテーブルビューには、コース名とそのコースに予定されている合計時間数が表示されています。コースAのコーススケジュール1は午前9時から午前11時まで、コースAのスケジュール2は午後2時から午後6時としましょう。合計は 6 です。何らかの方法でコース名を変更すると、nsfetchResults コントローラーが変更を検出し、「controller:didchangeobject:...」をトリガーします。ただし、スケジュールの開始時刻または終了時刻を変更すると、nsFetchresultsController はトリガーされません。 [self.tableview relodData] を実行しない限り、テーブルビューはリロードされません.これがテーブルビューをリロードする最良の方法ですか.nsfetchresultscontroller がトリガーされている必要があります.正しい方向に私を導くことができれば、それは素晴らしいことです.

よろしくお願いします。

4

1 に答える 1

1

FRC は、オブジェクトの変更を監視しているだけであるCourseため (それが取得要求であるため)、トリガーしていません。フェッチにはエンティティが 1 つしかないため、これを変更することはできません。

がいつ更新されるかを常に知っている場合、Schedule現在のソリューションとリロードは問題ありません。そうでない場合は、コントローラーを管理対象オブジェクト コンテキストのオブザーバーとして追加し、すべての変更通知を処理して、リロードする必要があるかどうかを判断できます。

于 2013-08-02T06:50:01.203 に答える