sectionIndexTitlesForTableView 键已关闭?
我已经为我的表格视图实现了一个部分索引。它返回 coredata 中存储的内容的正确字母 (ABCDFGHIKMNOPQRSTUV W
)。然而,指数已关闭。
如果我点击字母 M
,它会将我带到字母 I,等等。我尝试排序的索引名称是 name
我可以做什么修复索引怎么办?
我还实现了 numberOfSectionsInTableView
、numberOfRowsInSection
和 titeForHeaderInSection
。节标题显示正确。
- (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];
}
包括 FRC,以防万一相关:
- (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;
}
I have implemented a Section Index for my tableview. It returns the correct letters for what is stored in coredata (A B C D F G H I K M N O P Q R S T U V W
). However the indexes are off.
If I click on the letter M
it takes me to letter I, etc.. The name of the index I am attempting to sort on is name
What is there for me to do to fix the index?
I am also implementing numberOfSectionsInTableView
,numberOfRowsInSection
, and titeForHeaderInSection
. The section headers 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 the FRC just in case it is relevant:
- (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;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试以这种方式实施。
Try to implement in this way.