視覚的には、テーブルの並べ替え順序を変更する「モード」選択を許可する がありますUITableView。UISegmentedControl
を使用しNSFetchedResultsControllerて、異なるソート構成ごとに個別のコントローラーを保持し、現在選択されている「モード」に基づいて表示されているコントローラーを切り替える必要があると考えています。
NSFetchedResultsControllerただし、4 つの異なるすべてのデリゲート メッセージを送信して を更新すると、これが難しくなることがわかりますUITableView。これに対処するためswitch()に、関連する各メソッドでブロックを使用して、現在 'active' 以外のすべてを無視することを計画していますNSFetchedResultsController。
これは正しいアプローチのように聞こえますか、それともここで明らかな何かが欠けていますか?
controllerWillChangeContent:- 更新が行われたときにユーザーが「モード」を変更した場合 (つまり、との間controllerDidChangeContent:) 、災害が発生する可能性があることがわかります。