2012-01-28 4 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을 반환합니다.

트릭을해야합니다.

관련 문제