NSFetchedResultsController
을 사용하여 테이블에 데이터를 표시하고 있습니다. 데이터 저장소에는 groupID
의 행이 많이 포함되어 있으며 여러 엔터티는 groupID
을 공유 할 수 있습니다.NSFetchRequest/NSFetchedResultsController는 단일 속성을 고유하지만 엔터티의 다른 특성을 사용하여 정렬합니다.
각 엔티티에는 삽입 날짜 속성도 있습니다.
뚜렷한 groupID
목록을 삽입 날짜 속성별로 정렬하고 싶습니다. 다음 코드는 삽입 날짜 속성에 따라 정렬되지 않는다는 점을 제외하고는 작동합니다. 이 속성은 가져온 속성 중 하나가 아니기 때문에 정렬 할 수 없다고 가정합니다.
그리고 나는 MagicalRecord도 사용하고 있습니다.
정렬을 위해 엔티티의 다른 속성을 사용할 수 있지만 결과의 일부로 포함 할 수있는 방법이 있습니까? 가져온 속성에 삽입 날짜를 추가하면 날짜가 모두 고유하므로 불필요합니다.
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userID like[c] %@", THEUSERUSERID];
NSFetchRequest *fetchRequest = [AnEntity MR_requestAllWithPredicate:predicate];
[fetchRequest setReturnsDistinctResults:YES];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setPropertiesToFetch:@[@"groupID"]];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"inDate" ascending:NO];
[fetchRequest setSortDescriptors:@[sortDescriptor]];
_frController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:[NSManagedObjectContext MR_rootSavingContext] sectionNameKeyPath:nil cacheName:nil];
문제를 피하기 위해 앱에서 변경 한 것 같습니다. 내 기억을 새로 고침하고 이것이 어떻게 작동하는지 보려면 앱의이 영역을 다시 방문하겠습니다. – chadbag