我一直试图弄清楚这一点,但没有得到任何地方。我很想得到一些帮助。
我使用带有 2 次提取的表。只能编辑表格最后一部分中的 1。当我删除一个项目时,应用程序崩溃说索引中没有部分。我已经阅读了对其他类似问题的一些回复,但仍然无法解决。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [[fetchedResultsController sections] count]+1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section < fetchedResultsController.sections.count) {
return [[fetchedResultsController.sections objectAtIndex:section] numberOfObjects];
}
else {
return fetchedResultsControllerCustomWOD.fetchedObjects.count;
}
}
对于 commitEditing 方法:
- (void)tableView:(UITableView *)tableView commitEditingStyle:
(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObjectContext *context = [self managedObjectContext];
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete object from database
[context deleteObject:[[fetchedResultsControllerCustomFR objectAtIndexPath:indexPath] objectAtIndex:indexPath.row]];
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Can't Delete! %@ %@", error, [error localizedDescription]);
return;
}
// Remove device from table view
[[fetchedResultsControllerCustomFR objectAtIndexPath:indexPath] removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}