У меня есть UITableView
и планировщик, работающий в фоновом режиме, удаляющий записи из базового объекта данных.
Каждый раз, когда объект удаляется, я хочу, чтобы представление таблицы обновлялось соответствующим образом.
Но я продолжаю получать это раздражающее сообщение об ошибке при попытке удалить строку из представления таблицы.
* Завершение работы приложения из-за неперехваченного исключения NSInternalInconsistencyException
, причина: «Недопустимый путь индекса для использования с UITableView
. Пути индекса, переданные в представление таблицы, должны содержать ровно два индекса, определяющих раздел и строку. По возможности используйте категорию NSIndexPath
в UITableView.h
».
Код:
NSIndexPath *indexPath = [NSIndexPath indexPathWithIndex:0];
NSUInteger row = [indexPath row];
NSMutableArray* files = [[NSMutableArray alloc] initWithArray:fileNames];
[files removeObjectAtIndex:[indexPath row]];
[fileNames dealloc];
fileNames = [NSArray arrayWithArray:files];
//[self.fileNames removeObjectAtIndex:row];
[self.tableDraft deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
PS:
Я также пробовал [tableView reloadData];
, но это имеет нежелательные побочные эффекты, стирая выбранный индекс.