我正在使用由其他人制作的子类 tableView,它带有一个方法 loadObjects
,该方法会导致 tableView 重新填充其单元格,但是它不会告诉 table view 返回顶部重新填充后。我试图通过以下方式实现此功能:
- (void)loadObjects{
[super loadObjects];
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
但是一旦 loadObjects
被调用(当 TableView 想要初始加载时),我得到以下异常:
*** Terminating app due to uncaught exception 'NSRangeException', reason:
'-[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]:
row (0) beyond bounds (0) for section (0).'
我将我编写的将表格 View 滚动到顶部的行转移到另一个自定义方法,每当我按下按钮时调用该方法,它工作得很好,所以我覆盖 loadObjects
。有谁理解抛出的异常?
最佳答案
在调用 scrollToRowAtIndexPath 之前测试重新加载 tableview。
[self.tableView reloadData];
关于ios - 为什么在要求我的 TableView 滚动到顶部时我会收到 NSRangeException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19758735/