엔티티 폴더에서 가져 오기 요청을 실행하려고하는데 정렬시 마지막 개체가 xyz
인 폴더로 지정합니다.NSSortDescriptor가 호출되지 않습니다.
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Folder" inManagedObjectContext:appDelegate.managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *lastDescriptor =
[[[NSSortDescriptor alloc] initWithKey:@"folderName" ascending:YES comparator:^NSComparisonResult(NSString* name1, NSString* name2) {
NSLog(@"descriptor");
if ([name1 isEqualToString:@"xyz"]) {
return NSOrderedAscending;
}
if ([name2 isEqualToString:@"xyz"]) {
return NSOrderedDescending;
}
return [name1 compare:name2];
}] autorelease];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:lastDescriptor]];
[fetchRequest setFetchBatchSize:5];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:appDelegate.managedObjectContext sectionNameKeyPath:nil cacheName:nil];
self.fetchedResultsController = theFetchedResultsController;
self.fetchedResultsController.delegate=self;
[fetchRequest release];
[theFetchedResultsController release];
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1); // Fail
}
그러나 NSLog 문이 호출되지 않습니다. 그럴 예정입니까? 폴더 xyz는 마지막에 나타나지 않지만 모든 것이 알파벳 순서로 정렬됩니다. 내가 뭔가 잘못하고 있는거야?
편집 : 배치하는 전체 코드
내 질문일지도 모르지만 실제로 가져 오기를 실행하고 있습니까? 이것은 단지 정렬을 설정합니다. – danh
글쎄, 나중에 결과를 얻는다. 제대로 분류되지 않았다. 이것이 내가 호출 할 유일한 정렬 설명자 임에도 불구하고 알파벳순으로 결과를 얻습니다. – Snowman
NSLog 문이 나타나야합니까? – Snowman