从TableView和coreData中删除行

我有一个问题,从tableView中删除行填充coreData对象。

试图做到这一点:

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath{ if (editingStyle == UITableViewCellEditingStyleDelete) { [self.tableView beginUpdates]; NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath]; NSLog(@"Deleting (%@)", [managedObject valueForKey:@"original_title"]); [self.managedObjectContext deleteObject:managedObject]; [self.managedObjectContext save:nil]; [self performFetch]; [self.tableView endUpdates]; } } 

所以,当我点击“删除”button,应用程序崩溃与以下日志:

  *** Assertion failure in -[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-2872.3/UITableView.m:1254 2013-08-13 18:39:17.624 RR_proto[1076:a0b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid update: invalid number of sections. The number of sections contained in the table view after the update (1) must be equal to the number of sections contained in the table view before the update (2), plus or minus the number of sections inserted or deleted (0 inserted, 0 deleted).' *** First throw call stack: 

我也尝试在[self.managedObjectContext save:nil]之后添加以下行:

 [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; 

但该应用程序崩溃像以前一样。

还有一件事,每次我通过delete-action重新启动应用程序后,应该删除的单元格就不见了!

会很好,如果有人可以帮助。 我知道有类似的问题有很多问题,我尝试了不同的东西,没有成功。 谢谢!

在添加,删除或修改对象时,表格视图会由提取的结果控制器委托方法自动更新。

因此,要删除一个对象,只需从托pipe对象上下文中删除它。 不要调用beginUpdatesendUpdatesdeleteRowsAtIndexPathsperformFetch

 -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath*)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath]; [self.managedObjectContext deleteObject:managedObject]; [self.managedObjectContext save:nil]; } }