在我的应用程序中,我尝试在更新表格的内容后将UITableView滚动到顶部。但是,在某些情况下,我的表格是EMPTY。所以,我得到了以下异常:iphone dev - 如何捕捉异常'NSRangeException'
终止应用程序由于未捕获的异常 'NSRangeException',原因是:“ - [UITableView的scrollToRowAtIndexPath:atScrollPosition:动画:]:行(0)超出范围(0)的部分(0 )“。
我该怎么捕捉这个异常?我试过
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
if (indexPath != nil) {
[EventTable scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
但它没有捕获异常,因为indexPath不是零。
谢谢。我就是这样做的。 如果((事件表numberOfSections]> 0)&&([事件表numberOfRowsInSection:0]> 0)){ \t \t [事件表scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0切入口:0] atScrollPosition:UITableViewScrollPositionTop动画:YES]; \t} – Brian 2010-05-20 17:28:07
&&将是正确的,而不是||。 ? – 2010-10-13 13:59:02
@ S.P,这取决于您是否测试是否滚动,或测试是否中止。 – 2014-12-16 08:48:47