после удаления строк в вашем коде этой строкой [self.table deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:NO];
ваше табличное представление снова проверяет источник данных, чтобы увидеть количество разделов в строке и количество строк в разделах.
Ошибка заключается в том, что при проверке удаленный элемент все еще существует как элемент источника данных, который должно отображаться в виде таблицы, но вы вызвали delete the row.
Например.
в моем количестве строк я возвращаю 7.
но если я удаляю строку, мне нужно сделать это возвращение 6 .. но вы все равно можете быть 7 ..
(обычно возвращаемое значение равно некоторому [количеству массивов], которое я только что использовал, возвращая 7 в качестве примера)