ios - 插入 CollectionView 会引发无效更新错误

标签 ios swift firebase firebase-realtime-database collectionview

我正在使用新的 Firebase,我正在对数据库进行多次调用以检索某个对象。在回调中,我将对象添加到我的 CollectionView 数据源,然后调用 collectionView.insertItemsAtIndexPaths

但我收到无效更新错误。我猜这是因为从数据库中检索项目的速度如此之快,以至于上一次更新在下一次更新开始之前还没有完成。我该如何解决这个问题?

此外,我应该dispatch_async到回调中的主线程,对吗?

最佳答案

UICollectionView 中,numberOfItemsInSection: 返回的项目数必须与 block 中实时更新的项目数相匹配。要解决此差异,您应该做的是维护一个整数来计算要在您的 Collection View 中显示的项目数并返回它,而不是 yourArray.count。此外,您应该在 yourCollectionView.performBatchUpdates({})

中维护此整数

关于ios - 插入 CollectionView 会引发无效更新错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39287484/

相关文章:

ios - 更改 iPhone 和 iPad 上的替代图标(setAlternateIcon for iPhone & iPad)

ios - SSKeychain 凭证存储设置不正确?

swift - 在涉及 NSHashTable 的特殊情况下不调用 deinit

javascript - 在javascript中运行时动态从firebase实时数据库获取数据

firebase - 使用物理设备运行简单的Firebase Flutter应用程序并获得Gradle错误

ios - 在同一个应用程序上使用两个 Facebook 应用程序 ID 进行测试

ios - 在 UIImage 的非透明像素周围添加边框和阴影

swift - 如何简化这个 Swift 排序代码?

Swift Firebase 在闭包内发送数据

javascript - 单击 Firebase 数据和 React Native 获取列表项信息