Swift Firebase-使用文档UID获取当前用户以填充列表

IsoKotNsd

因此,我已经在我的android应用程序上完成了此操作(并且可以正常运行),以使用集合中的文档名称填充列表

  db.collection("usersAuth/${FirebaseAuth.getInstance().uid!!}/KitLists")
            .addSnapshotListener(EventListener<QuerySnapshot> { value, e ->
        if (e != null) {
            Log.w("TAG", "Listen failed.", e)
            return@EventListener
        }

        for (document in value.documents) {
            val data = document

            val kitName = data.id

            firstKitList.add(kitName)

        }

        mainListViewAdapter.notifyDataSetChanged()
    })

我正在尝试在iOS版本上做同样的事情,但我不知道怎么了

override func viewWillAppear(_ animated: Bool) {

    setListener()

}

func setListener() {

    db.collection("usersAuth/\(String(describing: Auth.auth().currentUser))/KitLists")
        .addSnapshotListener { (snapshot, error ) in
            if let err = error {
                debugPrint("Error fetching docs: \(err)")
            } else {
                guard let snap = snapshot else {return}
                for document in snap.documents {
                    let data = document.data()
                    let kitListName = data["KitLists"] as? String


                 let newLists = KitList(kitListName: kitListName!)
                    self.lists.append(newLists)
                }


                self.tableView.reloadData()
            }
    }

}

有任何想法吗?谢谢

-编辑

消防处

Firestore2

瓦尔德温

你需要得到uidcurrentUser,例如:

if let userId = Auth.auth().currentUser.uid {
        db.collection("usersAuth").document(userId).collection("KitLists")
            .addSnapshotListener { (snapshot, error ) in
        //...
    }

获取KitLists documentId

for document in snap.documents {
    let documentName = document.documentID // <--- This
    let newLists = KitList(kitListName: documentName)
    self.lists.append(newLists)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章