У меня есть 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];
, но у него есть нежелательные побочные эффекты, стирая выбранный индекс.