首页 > 解决方案 > 从 Firestore [Swift] 获取当前用户的特定数据

问题描述

在这里,您是结果的屏幕截图,我想将 firestore 中当前用户的技能对象抓取到 tableview 中。对此有何反馈?

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

func getSkills() {
    guard (Auth.auth().currentUser?.uid) != nil else {
        return
    }
    self.db.collection("tutors").getDocuments() { (querySnapshot, err) in
        if let err = err {
            print("Error getting documents: \(err)")
        } else {
            for document in querySnapshot!.documents {
                let docId = document.documentID
                let addedSkills = document.get("skills") as! Array<Any>
            
        print(docId, addedSkills)
            }
    }
}
}

标签: swift

解决方案


如前所述,这似乎是因为您addedSkills 在查询的完成块中声明了另一个数组。你应该把它改成这个

func getSkills() {
guard (Auth.auth().currentUser?.uid) != nil else {
    return
}
self.db.collection("tutors").getDocuments() { (querySnapshot, err) in
    if let err = err {
        print("Error getting documents: \(err)")
    } else {
        for document in querySnapshot!.documents {
            let docId = document.documentID
            self.addedSkills = document.get("skills") as! Array<Any> // This is the change

    print(docId, addedSkills)
        }
}

} }


推荐阅读