I performed a section index for my view in a table. It returns the correct letters for what is stored in coredata ( ABCDFGHIKMNOPQRSTUVW ). However, indexes are disabled.
If I click on the letter M , it takes me to the letter I, etc. The name of the index I'm trying to sort is name
What should I do to fix the index?
I also implement numberOfSectionsInTableView , numberOfRowsInSection and titeForHeaderInSection . Section titles are displayed correctly.
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView { NSArray * sectionTitlesArray = [fetchedResultsController sectionIndexTitles]; NSMutableArray *newTitles = [[NSMutableArray alloc] init]; for (NSString *state in sectionTitlesArray) { [newTitles addObject:[NSString stringWithFormat:@"%@", state]]; } return [newTitles autorelease]; }
Including FRC just in case it matters:
- (NSFetchedResultsController *)fetchedResultsController { if (fetchedResultsController == nil) { NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"WidgetCoItems" inManagedObjectContext:managedObjectContext]; [fetchRequest setEntity:entity]; NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"state" ascending:YES]; NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1,sortDescriptor2, nil]; [fetchRequest setSortDescriptors:sortDescriptors]; NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"state" cacheName:nil]; aFetchedResultsController.delegate = self; self.fetchedResultsController = aFetchedResultsController; [aFetchedResultsController release]; [fetchRequest release]; [sortDescriptor1 release]; [sortDescriptor2 release]; [sortDescriptors release]; } return fetchedResultsController; }
source share