2010-12-01 14 views
1

複数のNSFetchRequestControllerを同じビューに配置するのは問題ですか? 1つのビューに4つのテーブルがあり、4つのコントローラが必要です。ベスト・プラクティスに関しては、テーブル間を区別するためにタグを使用する必要があります。複数のNSFetchRequestControllerが同じビューにありますか?

答えて

1

私はこれに何か問題はないとは思わない。各テーブルの背後にあるデータがあまり密接に関連していないと仮定して、とにかく4つの別々のデータ構造で終わることになります(複数のフェッチの結果をキャッシュするため)。役に立つかもしれない1つのことは、各テーブルに対して別々のdataSourceを持っていますが、共有されているのはdelegateです。このようにして、共有デリゲートのビューロジックを処理できます。たとえば、セルが選択されたときに新しいビューコントローラをプッシュすることができます。ちょっとした考え。

0

コントローラのインスタンスを別々に使用し、設定するテーブルに基づいてfetchResultsControllerをセットアップする限り、これは問題ありません。

2つの別々のタブでインスタンス化された1つのビューコントローラがあり、同じデータセットを別の方法で表示します。どのタブバーがNSFetchedResultsControllerメソッドで選択されているかをテストし、それに応じて適切な述語を適用します:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSUInteger tab = [theDelegate.tabBarController selectedIndex]; 
switch (tab) { 
    case kFeaturedTab: { 
       // Setup sort desc & predicates 
     } 
    case kComingSoonTab: { 
      // Setup alt. sort desc & predicates 
    } 
     ... // Do the fetch 
} 
関連する問題