NSMutableRLEArray objectAtIndex:effectiveRange ::填充UITableView时出界

时间:2014-04-15 05:21:19

标签: ios xcode uitableview nsfetchedresultscontroller

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

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

并像这样获取日志

ipath {length = 2,path = 1 - 9}

但应用程序崩溃时收到错误,如

由于未捕获的异常终止应用' NSRangeException',原因:' NSMutableRLEArray objectAtIndex:effectiveRange ::越界'

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

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

它运行正常。我使用fetchedresultcontroller来填充表视图,而indexpath中的对象不是null。任何帮助都会有意义吗?

1 个答案:

答案 0 :(得分:3)

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

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