Я добавляю новый элемент в нижнюю часть UITableView и после вставки элемента хочу, чтобы UITableView прокручивался до самого низа, чтобы отобразить только что вставленный элемент. Новые элементы сохраняются в Core Data, а UITableView автоматически обновляется с помощью NSFetchedResultsController.
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath
forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath
{
switch (type) {
case NSFetchedResultsChangeInsert:
NSLog(@"*** controllerDidChangeObject - NSFetchedResultsChangeInsert");
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnimation:UITableViewRowAnimationFade];
//THIS IS THE CODE THAT DOESN'T WORK
[self.tableView scrollToRowAtIndexPath:newIndexPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
break;
....
}
Это приводит к ошибке выхода за границы, я не могу заставить ее работать. Я могу прокрутить до предпоследнего комментария, изменив строку индексного пути, но не могу добраться до самого последнего элемента.
По сути, я добавляю комментарий в таблицу комментариев, и после добавления комментария я хочу, чтобы таблица прокручивалась до самого последнего комментария.