我正在使用Parse作为后端并将项目加载到UICollectionView中。一切都很好但我似乎无法正确删除某些范围的项目。 这是我的删除功能:
LotNumber Device MeasureDate RowNumber
LotA DevA 10/1/15 0:00 1
LotA DevA 10/1/15 1:00 1
LotA DevB 10/1/15 2:00 2
LotB DevA 10/1/15 3:00 3
LotB DevA 10/1/15 4:00 3
LotA DevA 10/1/15 5:00 4
我收到错误:致命错误:数组索引超出范围 我认为这是因为作为for循环循环它会丢失一个项目但保持原始计数。我检查以确保self.tasks和indexPaths返回我期望的内容。不知道还有什么可以尝试。 我怎么能重构这个?任何帮助或方向将不胜感激。谢谢!
答案 0 :(得分:0)
尝试将self.collectionView!.deleteItemsAtIndexPaths(indexPaths)
放在performBatchUpdates
的完成处理程序中。
修改强>
看起来您正在尝试在访问self.tasks时删除项目。例如,您的任务有5个项目[A,B,C,D,E],您选择删除D& E.在第一次迭代中,您删除索引3处的项目(即D)。现在任务有4个项目[A,B,C,E]。在下一次迭代中,当您尝试访问索引4处的项目时,在上一次删除指向E之前,您将获得索引超出范围的错误。