Подтвердить что ты не робот

[UITableView _contentOffsetForScrollingToRowAtIndexPath: atScrollPosition:]

Я использую tableview для отображения сообщения, и я использовал код ниже

UIView *chatView = [self bubbleView:[NSString stringWithFormat:@"%@", message] from:YES];

[self.chatArray addObject:[NSDictionary dictionaryWithObjectsAndKeys:message, @"text", @"self", @"speaker", chatView, @"view", nil]];
[self.chatTableView reloadData];

[self.chatTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.chatArray count]-1 inSection:0]
                                atScrollPosition: UITableViewScrollPositionBottom
                                animated:YES];

И я получаю сообщение об ошибке ниже

[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: row (0) beyond bounds (0) for section (0).'

plz помогите мне в решении этого

4b9b3361

Ответ 1

Мне кажется, что в вашем представлении таблицы пока нет строк или разделов. Мне приходят в голову две возможности.

  • Проверьте делегат numberOfRowsInSection и numberOfSectionsInTableView, чтобы они не были установлены в 0.
  • Возможно, что tableview еще не закончил загрузку данных.

Поделитесь своими выводами, чтобы я мог помочь, если это необходимо.

Ответ 2

Я получил эту проблему, когда мой делегат tableView и dataSource был сопоставлен с другим контроллером представления. Убедитесь, что вы не сделали то же самое.

Ответ 3

Убедитесь, что ваша таблица перезагружается перед прокруткой. потому что после добавления данных в массив нам нужно перезагрузить данные, чтобы заполнить ячейку TableView.