我正在使用新的 Firebase,我正在对数据库进行多次调用以检索某个对象。在回调中,我将对象添加到我的 CollectionView
数据源,然后调用 collectionView.insertItemsAtIndexPaths
。
但我收到无效更新错误。我猜这是因为从数据库中检索项目的速度如此之快,以至于上一次更新在下一次更新开始之前还没有完成。我该如何解决这个问题?
此外,我应该dispatch_async
到回调中的主线程,对吗?
最佳答案
在 UICollectionView
中,numberOfItemsInSection:
返回的项目数必须与 block 中实时更新的项目数相匹配。要解决此差异,您应该做的是维护一个整数来计算要在您的 Collection View 中显示的项目数并返回它,而不是 yourArray.count。此外,您应该在 yourCollectionView.performBatchUpdates({})
关于ios - 插入 CollectionView 会引发无效更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287484/