Я пытаюсь прокрутить свой tableview к 2-й ячейке:
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:1 inSection:0]
atScrollPosition:UITableViewScrollPositionNone
animated:NO];
Я получаю ошибку:
*** Terminating app due to uncaught exception 'NSRangeException', reason: '-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: section (1) beyond bounds (0).
'
Мой tableview имеет 30 ячеек, которые появляются без разделов.
Если у вас нет разделов, вы можете попробовать конструктор класса indexPathWithIndex:
:
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathWithIndex:1]
atScrollPosition:UITableViewScrollPositionNone
animated:NO];
Я рекомендую вам создать раздел для хранения ваших ячеек. В этом разделе не может быть заголовка, чтобы его нельзя было различить визуально, и это дает вам возможность не бороться с предполагаемые пути API.
Когда я получил такое же сообщение об ошибке с односекционной таблицей, я исправил его, создав NSIndexPath как со строкой, так и с разделом:
NSIndexPath *ip = [NSIndexPath indexPathForRow:itemCurrentlyPlaying inSection:0];
Найти нелегко, но соответствующий удобный конструктор задокументирован здесь: