swift - swift 4 如果您从流中快速添加项目(firebase 观察者)并执行 insertItems,应用程序将首先减速然后完全崩溃
问题描述
在每条消息执行 insertItems 之后,消息集变得更慢,并且在 - 它完全崩溃之后,我尝试通过 performBatch 来完成它,但它没有帮助。谁有什么想法告诉我,谢谢。
func addedNewMessage(chanelMessages: ChatMessageViewModel) {
let searchedMessageIndex = self.chatCollectionView.messages.firstIndex { message in
return message.ID() == chanelMessages.ID()
}
if searchedMessageIndex == nil {
let newIndexPath = IndexPath(row: self.chatCollectionView.messages.count, section: 0)
self.chatCollectionView.messages.append(chanelMessages)
self.chatCollectionView.insertItems(at: [newIndexPath])
self.chatCollectionView.scrollToItem(at: newIndexPath, at: .bottom, animated: true)
}
}
解决方案
推荐阅读
- excel - 在 Excel 中使用 DEC2BIN() 创建一个列表
- javascript - JS中如何计算前几个月?
- javascript - 更改查找和替换 Google 表格脚本
- jquery - 如何包装和排除特定标签
- haskell - stack install ghc-mod 在 OSX 10.13.4 上因依赖冲突而失败
- android - 对话框关闭后EditText光标错误
- excel - 根据 Excel 数据更新 Word 表格
- python - 在列表中查找与参考列表最多相差 N 个字符的值
- powershell - 使用 ARM 模板进行 SQL 部署,包括架构和表(dacpac、PowerShell)
- c# - 使用没有抽象的 Base 方法