Error fetching: Error Domain=NSCocoaErrorDomain Code=134060
"The operation couldn’t be completed. (Cocoa error 134060.)"
UserInfo=0x132eb960 {reason=The fetched object at index 76
has an out of order section name 'å. Objects must be sorted by section name'}
確認したところ、同じ名前の質問が他にもありますが、この場合、分音記号のアルファベット記号が原因で問題が発生します。
- (NSFetchedResultsController *)fetchedResultsControllerWithPredicate:
(NSPredicate *)aPredicate {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
fetchRequest.entity = [Word MR_entityDescription];
[fetchRequest setFetchBatchSize:20];
[fetchRequest setPredicate:aPredicate];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"name"
ascending:YES
selector:@selector(localizedCompare:)];
fetchRequest.sortDescriptors = @[sortDescriptor];
NSFetchedResultsController *aFetchedResultsController =
[[NSFetchedResultsController alloc]
initWithFetchRequest:fetchRequest
managedObjectContext:localContext
sectionNameKeyPath:@"name.stringGroupByFirstInitial" cacheName:nil];
aFetchedResultsController.delegate = self;
NSError *anyError = nil;
if (![aFetchedResultsController performFetch:&anyError]) {
NSLog(@"Error fetching: %@", anyError);
}
return aFetchedResultsController;
}
に置き換えるlocalizedCompare:
とcompare:
、フェッチ エラーは発生しませんが、一部のインデックスの順序が間違っており、セクションが表示されません。