Mik*_*ike 5 swift google-cloud-firestore
我认为我是对的,Firebase 有一个 childAdded 方法和一个监听器,这意味着所有数据都是第一次加载的,然后监听器会在每次添加/修改新数据时进行观察。
当我的应用程序加载时,我使用 Firestore 在数据库上调用以下内容:
func loadMessageRequests()
{
defaultStore?.collection("requests").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else
etc.
Run Code Online (Sandbox Code Playgroud)
我用请求填充字典。
但我也想监听对数据库的任何更改以及是否添加了任何请求等,目前我在控制器中有一个单独的监听器进行监听
let listener = model.defaultStore?.collection("requests")
.addSnapshotListener { querySnapshot, error in
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有 childAdded 的等价物,在那里我可以在 db 上有一个侦听器,同时还最初加载了所有数据。
谢谢。
在 Firestore 中,API 略有不同,但您正在寻找的信息和功能仍然可用。
Firestore 中只有一种类型的侦听器,您可以通过调用addSnapshotListener. 这会立即为初始值触发,然后对数据进行任何更改。
当快照侦听器触发时,您将获得一个QuerySnapshot,其中包含更新的数据和有关该数据更改的信息。更改封装在一个documentChanges数组中。每个人DocumentChange都有一个type,指示是否添加、删除或修改了文档。
可以在FirebaseUI for Android 中找到有关其工作原理的简单示例。该FirebaseUI的iOS库听同一个协议,但不知何故,我觉得更难解析它在做什么。
| 归档时间: |
|
| 查看次数: |
4878 次 |
| 最近记录: |