我使用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节做同样的事情。它没有崩溃。伙计们请帮帮我。我已经花了很多时间来弄明白但是失败了。提前谢谢。
答案 0 :(得分:1)
-1
中的[indexPath row]-1
几乎肯定是错的;该行是从零开始的,您的数据结构也是如此(如果您将数据保存在NSMutableArray
或某些内容中,那么它们就好了。)
然而,这并不符合例外情况" 5大于4"所以我假设您正在制作" + 1"和" -1"这里和那里的调整打破了你的应用程序。
我很确定你根本不必进行这些调整,但是如果没有看到更多代码,我无法确定。