Я добавил следующий код в моем приложении iOS, чтобы удалить ячейку таблицы из UITableViewController, но я получаю сообщение об ошибке удаления.Удалить ячейку таблицы из UITableViewController вызывает сбой?
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
if(editingStyle == UITableViewCellEditingStyleDelete){
[self.toDoItems removeObjectAtIndex:indexPath.row];
NSArray *indexPaths = @[indexPath];
[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];
}
}
Update: toDoItems это просто NSArray, и я попытался следующий код, но по-прежнему не работает:
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
if(editingStyle == UITableViewCellEditingStyleDelete){
NSArray *indexPaths = @[indexPath];
[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationAutomatic];
[self.toDoItems removeObjectAtIndex:indexPath.row];
}
}
сообщение об ошибке здесь:
'NSInternalInconsistencyException', Причина: «Неверное обновление: недопустимое количество строк в разделе 1. Количество строк, содержащихся в существующем разделе после обновления (1003), должно быть равно количеству строк, содержащихся в этом разделе, перед обновлением (1004), плюс или минус число из строк, вставленных или удаленных из этого раздела (0 вставлено, 0 удалено) и плюс или минус количество строк, перемещенных в или из этого раздела (0 перемещен, 0 перемещен). '
Xcode 6.2 iOS6
Я уже пробовал Deleting table cell causes crash
Вы пытались переместить свой код таблицы ViewView над кодом toDoItems для удаления кода? Если ваши toDoItems связаны с основными данными, обработка приведет к обновлению таблицы перед удалением. –
@Travis M см. Обновление – ssj