Для моего проекта iPad мне нужно иметь возможность перезагрузить строки таблицы.
Вот как это должно работать, зависеть от некоторого «идентификатора», выбранного из всплывающего окна, мне нужно иметь возможность перезагрузить строки таблицы, строки таблицы являются динамическими и имеют UITextField в нем. Я попытался использовать [self.tableView reload], но по какой-то причине он не обновляет строки правильно. Что-то вроде заполнителя UITextField, принадлежащего предыдущему «id», не меняется. Я имею в виду, чтобы удалить все ячейки в этом конкретном разделе и перезагрузить таблицу с новым «id». Когда я делаю это, я получаю это исключение:
* Завершение работы приложения из-за необработанного исключения «NSInternalInconsistencyException», причина: «Неверное обновление: недопустимое количество строк в разделе 0. Число строк, содержащихся в существующем разделе после обновления (3), должно быть равным количеству строк, содержащихся в этом разделе до обновления (3), плюс или минус количество строк, вставленных или удаленных из этого раздела (0 вставлено, 3 удалено). '
Код проекта:
- (void)selectedArchiefID:(NSString *) value {
[self.popOverController dismissPopoverAnimated:YES];
// collects all available document indexfields
int rowCount = [indexDefinities count];
NSMutableArray *indexPaths = [[NSMutableArray alloc] init];
for (int curIndex=0; curIndex < rowCount; curIndex++) {
[indexPaths addObject:[NSIndexPath indexPathForRow:curIndex inSection:0]];
}
// deletes rows
if ([indexPaths count] > 0) {
[self.tableView beginUpdates];
[self.tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
//[self.tableView deleteSections:0 withRowAnimation:UITableViewRowAnimationNone];
[self.tableView endUpdates]; //crashes here
}
[self.tableView reloadData];
}
Есть идеи, что я сделал не так?