Я устанавливаю NSFetchedResultsController с дескриптором сортировки
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@”name” ascending:YES selector:@selector(caseInsensitiveCompare:)];
А, раздел
aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@”name” cacheName:nil];
Затем я также установил делегата секции табличного представления следующим образом:
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return [self.fetchedController sectionIndexTitles];
}
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {
return [self.fetchedController sectionForSectionIndexTitle:title atIndex:index];
}
Иногда, когда я вставляю объекты, я получаю сообщение об ошибке: «Извлеченный объект в индексе X имеет неправильное имя раздела« что-то. Объекты должны быть отсортированы по имени раздела »; *
Я вставляю тысячи строк. Когда происходит ошибка, это всегда в одном и том же случае: у меня есть 10 объектов, называемых одним и тем же, но некоторые из них в верхнем регистре, а другие в нижнем регистре. Пример: nameexample, nameExample, nameEXAMPLE, nameexample, nameExample и т. Д.
Есть идеи, почему я получаю ошибку и как это исправить?
Причина, по которой он у меня не учитывает регистр, заключается в том, что мои разделы основаны на первой букве, и если у меня не будет регистронезависимости, я получу раздел «а» и раздел «А».