首页 > 解决方案 > iOS Firebase / Firestore - 数组计数多少次读取

问题描述

我有读取数组的代码。我想知道这是否算作 1 次读取,还是数组中的每个元素都算作一次读取(使用 Firestore)

    var userList = [User]()
    var removeUserListener: ListenerRegistration!

    func addUserObserver(_ update: @escaping () -> Void) {
        removeUserListener = FriendSystem.system.USER_REF.addSnapshotListener { snapshot, error in
            self.userList.removeAll()
            
            guard error == nil else {
                #if DEBUG
                    print("Error retreiving collection")
                #endif
                return
            }
            
            let group = DispatchGroup()
            
            for document in snapshot!.documents {
                let email =  document.get("email") as! String
                let username =  document.get("username") as! String
                group.enter()
                if email != Auth.auth().currentUser?.email! {
                    self.userList.append(User(userEmail: email, userID: document.documentID, userName: username))
                    group.leave()
                }
            }
            
            group.notify(queue: .main) {
                update()
            }
        }
    }

标签: iosswiftfirebasegoogle-cloud-firestore

解决方案


读取一份文档需要一次读取操作。该文档包含什么并不重要。一旦您在内存中拥有 DocumentSnapshot,所有字段都可以随意访问。


推荐阅读