我有一个与UITableView一起使用的NSMutableArray。我面临的一个奇怪问题是
[results removeObjectAtIndex:rowIndexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:rowIndexPath] withRowAnimation:UITableViewRowAnimationFade];
仅适用于表格的前25个元素,但在26日崩溃?我的代码中没有任何地方可以提及25,我不知道为什么会这样做。
所有元素都可以通过UITableView正确显示,因此它们已正确插入表格中。
任何帮助?
答案 0 :(得分:1)
可能的情况是,当你从索引中删除项目时,你没有重新加载你的表,因此没有正确调整rowIndexPath.row值,因此你的数量超过你的数组。
答案 1 :(得分:1)
只是一个猜测:
使用removeObjectAtIndex:(NSUInteger)index
,您可以在文档中看到:要填补空白,索引之外的所有元素都会通过从索引中减去1来移动。所以你要折叠元素,你不能在不更新长度的情况下迭代数组的计数,否则你会尝试读取无效的索引只是因为前一个删除了列表,并且它比你预期的要短。