我試圖根據我的屬性(類似於iOS通訊簿應用程序)上的第一個字母顯示我的核心數據模型的值到A-Z索引表。我的核心數據模型的「收藏夾」實體有2個屬性:用戶名和狀態。我只想顯示帶有status = accepted
的用戶名到A-Z索引表。 這裏是我的代碼:ios核心數據到AZ索引tableview
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Favorites" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSString *status = @"accepted";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"status == %@",status];
[fetchRequest setPredicate:predicate];
// Create the sort descriptors array.
NSSortDescriptor *usernameDescriptor = [[NSSortDescriptor alloc] initWithKey:@"username" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:usernameDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// Create and initialize the fetch results controller.
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"username" cacheName:@"Root"];
self.fetchedResultsController = aFetchedResultsController;
fetchedResultsController.delegate = self;
return fetchedResultsController;
}
現在,當我試圖訪問該節的名稱,我得到(空)
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
NSLog(@"%@",[[[fetchedResultsController sections] objectAtIndex:section] name]);
return [[[fetchedResultsController sections] objectAtIndex:section] name];
}
而且我的事,與這樣,我將得到的名稱和不是第一個字符爲了顯示它作爲部分標題。
謝謝你的回答,依舊如果我把你的代碼中titleForHeaderProperty和NSLog的[信息名]我得到空值內.. –
我加還有一些建議。 – Mundi