使用 deleteRowsAtIndexPaths 删除表格单元格时,如果我尝试使用滑动手势删除单元格以进入编辑模式然后点击删除,则会崩溃。如果我通过切换编辑/完成按钮进入编辑模式,然后删除单元格,表格会正常更新而不会出现问题。
我也尝试过使用[table beginUpdates]
&[table endUpdates]
也没有成功。在任何一种情况下都可以使用同样如您所见,当使用编辑/完成按钮进入编辑模式时,[table reloadData]
我尝试过同样的崩溃。[table reloadSections:[NSIndexSet indexSetWithIndex: indexPath.section] withRowAnimation: UITableViewRowAnimationFade];
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
NSMutableArray *temp = nil;
switch (indexPath.section)
{
case 0:
{
temp = self.entireSavedArray;
break;
}
case 1:
{
temp = self.entireSavedArray2014;
break;
}
case 2:
{
temp = self.entireSavedArray2013;
break;
}
case 3:
{
temp = self.entireSavedArray2012;
break;
}
case 4:
{
temp = self.entireSavedArray2011;
break;
}
case 5:
{
temp = self.entireSavedArray2010;
break;
}
default:
break;
}
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[temp removeObjectAtIndex: ((int)indexPath.row * 11)];
[self.table deleteRowsAtIndexPaths: [NSArray arrayWithObjects: indexPath, nil] withRowAnimation: UITableViewRowAnimationFade];
//[tableView reloadSections:[NSIndexSet indexSetWithIndex: indexPath.section] withRowAnimation: UITableViewRowAnimationFade];
}
}