我正在使用此代码......但它已经终止了我的应用程序几次:
- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
forRowAtIndexPath:(NSIndexPath *)indexPath {
//FeedArray is NSMutableArray
if (editingStyle == UITableViewCellEditingStyleDelete) {
[self.tableView beginUpdates];
[FeedArray removeObjectAtIndex:indexPath.row];
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
}
[self.tableView endUpdates];
}
为什么会这样?还有其他方法吗?
答案 0 :(得分:0)
我认为[self.tableView endUpdates];
必须在if{}
块
或[self.tableView beginUpdates];
必须在if{}
答案 1 :(得分:0)
我使用了这样的代码,它运行良好:
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[self.tableView beginUpdates];
//Remove the item from the array (i.e. update the data source).
[self.arrayList removeObjectAtIndex:indexPath.row];
//Delete the row from the table.
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];
}