設定:
私はいくつかの UITableViewControllers (tvc) を持っており、それらはすべて個別の NSFetchedResultsController (frc) をインスタンス化します。ただし、これらの frc-s はすべて同じ ManagedObjectContext (moc) を使用します。
シナリオ:
ときどき、tvc-s の 1 つから、バックグラウンド プロセスを起動してデータを更新します。バックグラウンド プロセスは別のスレッドでデータを更新し、最後にメイン スレッドで [moc mergeChangesFromContextDidSaveNotification:] を呼び出します。次に、これらの変更を frc に伝達し、[frcDelegate controllerDidChangeContent:] を呼び出す必要があります。これは正常に機能します...ただし、関連付けられた tvc が更新を開始した frcDelegate に対してのみです。(すべての tvc-s は、その frc の frcDelegate として機能しています。)
予想される行動:
すべての frc-s が同じ moc にバインドされているため、すべての frc-s が変更を取得する必要があり、[frcDelegate controllerDidChangeContent:] がそれらすべてに対して呼び出される必要があります。
実際の動作:
[frcDelegate controllerDidChangeContent:] が 1 つだけ呼び出されます。
予想ではなく実際の動作が見られるのはなぜですか? これをどのようにデバッグすればよいですか? それともこれは正しい動作ですか?