我在我的应用程序中使用以下代码。

NSIndexPath* ipath = [NSIndexPath indexPathForRow:[sectionInfo numberOfObjects]-1 inSection:section];
NSLog(@"ipath %@",ipath);
[self.myTableView scrollToRowAtIndexPath:ipath atScrollPosition: UITableViewScrollPositionTop animated:NO];


并获得这样的日志

ipath {长度= 2,路径= 1-9}

但是应用程序崩溃并出现如下错误

由于未捕获的异常“ NSRangeException”而终止应用程序,原因:“ NSMutableRLEArray objectAtIndex:effectiveRange ::越界”

但是如果我在评论后运行项目

//[self.myTableView scrollToRowAtIndexPath:ipath atScrollPosition: UITableViewScrollPositionTop animated:NO];


它工作正常。我正在使用fetchedresultcontroller填充表视图,并且indexpath的对象不为null。有什么帮助吗?

最佳答案

使用此代码可能对您有帮助

  UITableViewCell *cell = (UITableViewCell *)[yourTableName cellForRowAtIndexPath:indexPath];
  [yourTableName setContentOffset:CGPointMake(cell.frame.origin.x, cell.frame.origin.y) animated:NO];

关于ios - NSMutableRLEArray objectAtIndex:effectiveRange::填充UITableView超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23075227/

10-12 04:02