【发布时间】:2011-03-12 00:44:33
【问题描述】:
我正在尝试向我的 UITableView 添加两行额外的行。数据来自带有部分的 FetchResultsController。我已经尝试过通常适用于 Array 但它们不适用于 FetchResultsController 的技巧。简单地在 numberofrows 中添加 +2 并没有帮助。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
// Return the number of sections.
return ([[fetchedResultsController sections] count]+2);
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
return ([sectionInfo numberOfObjects]+2);
}
和 fetchresult 控制器:
- (NSFetchedResultsController *)fetchedResultsController {
// Set up the fetched results controller if needed.
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"eventsEntity" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"eventName" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[sortDescriptor release];
NSFetchedResultsController *fetchedResultsController1 =
[[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:managedObjectContext
sectionNameKeyPath:@"eventName" cacheName:nil];
self.fetchedResultsController = fetchedResultsController1;
fetchedResultsController.delegate = self;
[request release];
[fetchedResultsController1 release];
return fetchedResultsController;
}
【问题讨论】:
标签: xcode uitableview nsfetchedresultscontroller rows