***由于未捕获的异常终止应用程序' NSRangeException'在UITableView中

时间:2014-05-06 07:50:31

标签: ios uitableview ios7

我使用UITableView来显示一些数据。现在,当用户点击一个单元格时,我在胶带单元格的正下方添加了一个新单元格,以显示更多额外信息。一切都很好。它有两个部分。现在,如果我点击第1部分的单元格,它会附加一个新的单元格。然后我按下滚动和附加的单元格&它的父细胞正在走出可见的矩形。当我向上滚动它的节目时。没有任何问题。但问题是如果我快速向上滚动它会在下面的线路上崩溃。

UITableViewCell *parentCell=[tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:[indexPath row]-1 inSection:[indexPath section]]];

在控制台中显示

***** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 5 beyond bounds [0 .. 4]'

如果我慢慢地滚动它的工作正常,如果我快速地完成它就会崩溃。非常奇怪的是,如果我对第0节做同样的事情。它没有崩溃。伙计们请帮帮我。我已经花了很多时间来弄明白但是失败了。提前谢谢。

1 个答案:

答案 0 :(得分:1)

-1中的[indexPath row]-1几乎肯定是错的;该行是从零开始的,您的数据结构也是如此(如果您将数据保存在NSMutableArray或某些内容中,那么它们就好了。)

然而,这并不符合例外情况" 5大于4"所以我假设您正在制作" + 1"和" -1"这里和那里的调整打破了你的应用程序。

我很确定你根本不必进行这些调整,但是如果没有看到更多代码,我无法确定。