如何清除使用Firestore作为数据库的快速聊天应用程序的缓存?

时间:2018-07-03 16:01:00

标签: ios swift firebase google-cloud-firestore

在我的chatviewcontroller中,当一个用户向另一个用户发送消息时,它将异步重新加载以获取已发送消息或接收消息。我想清除缓存,在用户发送消息之后,然后重新加载以获取新消息。我想要清除缓存的原因是因为上一条消息将与我的新消息混淆,如图所示。如果我关闭我的聊天并重新打开,一切正常,这意味着其缓存问题。 Image to View

  @IBAction func sendTextMessage(_ sender: Any) {
    chats.removeAll()
    self.sendDataToDatabase(message: messageText.text!)
    messageText.text = nil
     //Clear Cache here     (How to clear cache of a viewcontroller?)
    loadPosts()
    loadPostsReceivedMessage()
    delayCompletionHandler {
            self.collectionView.reloadData()
        }
    }

1 个答案:

答案 0 :(得分:0)

您可以使用observeEventOfType来保持数据同步,并在后端中任何与您所观察的内容有关的数据更改时立即执行。

或者,您仍然可以使用observeSingleEventOfType,它不会监听后端的更改,但是每次您要刷新数据时都可以调用ref.keepSynced(true)