首页 > 解决方案 > 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)
        }
    }

标签: swiftarraylist

解决方案


推荐阅读