如何在 SwiftUI 应用程序中使用 FirebaseFirestore 监听实时更新 [已关闭]

问题描述 投票:0回答:1

我制作了使用 SwiftUI-FirebaseFirestore 的 ChatApp。我同时运行 2 个模拟器,如果“用户 A”向“用户 B”发送消息,我必须重新加载“用户 B”的应用程序界面才能显示更新的数据。我希望它是自动的,并在消息发送后立即显示在 Firestore 内,那么该怎么做呢?

firebase google-cloud-firestore swiftui chat message
1个回答
1
投票

您正在寻找的称为快照侦听器。实际上,它的处理方式与任何其他文档相同,但它有一个闭包,允许您响应特定文档上的更新事件。一般用法是这样的。

db.collection("cities").document("SF")
.addSnapshotListener { documentSnapshot, error in
  guard let document = documentSnapshot else {
    print("Error fetching document: \(error!)")
    return
  }
  guard let data = document.data() else {
    print("Document data was empty.")
    return
  }
  print("Current data: \(data)")
}

您应该能够查看文档快照以确定数据的任何更改,然后对这些更改做出响应。在您的情况下,您将重新加载视图。

https://firebase.google.com/docs/firestore/query-data/listen

© www.soinside.com 2019 - 2024. All rights reserved.