【发布时间】:2019-05-05 16:01:34
【问题描述】:
我正在尝试使用此代码删除 collectionView 单元格:
myDataSourceArray.remove(at:index)
collectionView.performBatchUpdates({
collectionView.deleteItems(at: [indexPath])
}
, completion: nil)
它非常直接的删除,例如,在尝试从第 1 节中删除任何单元格后,它会导致此异常:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效更新:第 1 节中的项目数无效。更新 (2) 后现有节中包含的项目数必须等于项目数更新前包含在该部分中 (2),加上或减去从该部分插入或删除的项目数(0 插入,1 个删除),加上或减去移入或移出该部分的项目数(0 移入, 0 移出)。'
我的 collectionView 单元格分布是每个部分包含 2 个单元格,如下图所示
最后一节如果包含 1 个单元格,它将包含 1 个单元格
func collectionView(_ collectionView: UICollectionView,
numberOfItemsInSection section: Int) -> Int {
if myDataSourceArray.count%2==1 && myDataSourceArray.count/2 == section {
return 1
}else{
return 2
}
}
究竟是什么导致了这个异常? 在此先感谢:)
【问题讨论】:
标签: ios swift collectionview