Как очистить кэш для приложения быстрого чата, которое использует Firestore в качестве базы данных? - PullRequest
0 голосов
/ 03 июля 2018

В моем chatviewcontroller, когда пользователь отправляет другому пользователю сообщение, он перезагружается асинхронно, чтобы получить отправленное сообщение или получить сообщение. Я хотел бы очистить кеш после того, как пользователь отправил сообщение и до его перезагрузки, чтобы получить новое сообщение. Причина, по которой я хочу очистить кеш, заключается в том, что предыдущее сообщение будет перепутано с моим новым сообщением, как показано на рисунке. Если я закрою Мой чат и открыть, все в порядке, что означает, что проблема с кешем. Изображение для просмотра

  @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 голосов
/ 03 июля 2018

Вы можете использовать observeEventOfType, который будет синхронизировать ваши данные и выполнит их снова, как только в бэкэнде будут изменены какие-либо данные, связанные с тем, что вы наблюдаете.

В качестве альтернативы, вы все равно можете использовать observeSingleEventOfType, это не будет прослушивать изменения в бэкэнде, но вы можете вызывать ref.keepSynced(true) каждый раз, когда вы хотите обновить данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...