2011-06-19 11 views
1

今私はArtistオブジェクトのセットをアルファベット順に並べて表示するUITableViewControllerNSFetchedResultsControllerで持っています。そのリスト内のアーティストをタップすると、2番目のUITableViewControllerがプッシュされ、artist.showsオブジェクトが表示されます。これらのオブジェクトもセクションごと(日付順)にソートされます。NSFetchedResultsControllerと子のUITableViewController

今私はNSSortDescriptorfor()ループを使用して、テーブルビューセクションをどこに配置するか(毎月1つのセクション)を決定するために、その第2のデータソース(artist.shows)を「手動」でソートします。

これは正しい方法ですか?基本的にはすでにデータを取得していますが、そのデータを並べ替えるにはartist.showsに2番目のNSFetchedResultsControllerを作成する方が理にかかりますか?

答えて

2

必ず2番目にフェッチされた結果コントローラを使用してください。 managedObjectContextを最初のものと共有することができ、そのコンテキスト内のすでにフォルトが発生しているオブジェクトにアクセスすることができます。

あなたのような、適切なコントローラのためのあなたの述語/ソート記述子を構築したいと思う:あなたは、実際のアーティストオブジェクトによってスコープにも

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"artist.name == %@" argumentsArray:[NSArray arrayWithObject:selectedArtist.name]]; 

でしたが、それはあなたのアイデアを与える必要があります。

関連する問題