我正在尝试使用以下示例为核心数据填充表添加A-Z索引:http://blog.sallarp.com/iphone-core-data-uitableview-drill-down/
但是,我无法解决在核心数据帮助程序头文件中设置sectionNameKeyPath属性的问题:
我是否需要像在CoreDataBooks中一样制作NSFetchedResultsController?或者我可以在这里的某处添加它吗?!对于无知感到抱歉,任何想法/帮助都会非常感激(这是撕掉我头发的第3天)。
+(NSMutableArray *) searchObjectsInContext: (NSString*) entityName : (NSPredicate *) predicate : (NSString*) sortKey : (BOOL) sortAscending : (NSManagedObjectContext *) managedObjectContext
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
// If a predicate was passed, pass it to the query
if(predicate != nil)
{
[request setPredicate:predicate];
}
// If a sort key was passed, use it for sorting.
if(sortKey != nil)
{
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortKey ascending:sortAscending];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[sortDescriptor release];
}
NSError *error;
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
[request release];
return mutableFetchResults;
}
答案 0 :(得分:3)
您需要实现相应的表视图数据源方法(sectionIndexTitlesForTableView:和tableView:sectionForSectionIndexTitle:atIndex :)。
我建议使用NSFetchedResultsController来执行此操作。请查看this answer至Core Data backed UITableView with indexing以获取示例代码。