scrollToRowAtIndexPath出错原因分析

    在项目中用到scrollToRowAtIndexPath,但程序一旦调用scrollToRowAtIndexPath就出错,经分析是数据源和tableview中cell不同步的原因, 比如,dataArray中有3个元素,而tableview中只显示了2个元素,当你scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:2 时当然就出错了。


所以调用前要确保数据源data source 和 tableview中的数据是一致的,调用scrollToRowAtIndexPath之前最后调用一下[self.dataTableView reloadData];


   id lastOject = [self.dataArray lastObject];

        int indexOfLastRow = [self.dataArray indexOfObject:lastOject];

[self.dataTableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:indexOfLastRow inSection:0]

  atScrollPosition:UITableViewScrollPositionBottom

  animated:YES];


你可能感兴趣的:(iOS)