2012-01-28 16 views
0

NSFetchedResultsControllerを使用して特定のセクションが最後にリストされるようにするにはどうすればよいですか?私は現在の名前で部門別の項目、および順序をグループ化しています:最後に注文されたテーブルビューセクション

// sort 
    NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"department" ascending:YES]; 
    NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"dateAdded" ascending:YES]; 
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, sortDescriptor2, nil]; 

    [fetchRequest setSortDescriptors:sortDescriptors]; 

    // fetch results, sectioned by department 
    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:list.managedObjectContext sectionNameKeyPath:@"department" cacheName:nil]; 

しかし私は、常に最後に返される特定の部門をしたいと思います。並べ替え記述子の組み合わせでこれを行うことはできますか?それとも、cellForIndexPathメソッドで処理する必要がありますか?

答えて

0

最後にする必要があるフラグ(最後に== 1、デフォルト0)をデータベースに格納し、このフラグをプライマリソートディスクリプタとして使用する方法はありますか?

0

あなたは

- (id)initWithKey:(NSString *)key ascending:(BOOL)ascending comparator:(NSComparator)cmptr 

を使用することができますし、特定のものに比べ除くあなたの部門のいずれかのためのアルファベット順に従ってNSComparisonResultを返しますコンパレータ方式を定義します。これはNSOrderedDescendingを返すことになります。

このトリックを行う必要があります。

関連する問題