In my app I try to scroll a UITableView to the top once after I updated the content of the table. However, under some circumstance, my table is EMPTY. So I got the following exception:
Terminating app due to uncaught exception ‘NSRangeException’, reason: ‘-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: row (0) beyond bounds (0) for section (0).’
how can I catch this exception? I tried
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
if (indexPath != nil) {
[EventTable scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
but it doesn’t catch the exception because indexPath is not nil.
Before scrolling to an IndexPath, check your UITableView to make sure the row and section you’re trying to scroll to are less than the number of rows and section in your table, respectively. If so, do not try to scroll to that IndexPath.