我有嵌套的数据,我想在tableView中显示。
我的数据结构如此......
/users
/userid
name: "John"
age: 23
/likedPosts
0:post1
1:post2
对于tableview,我想显示这些帖子(它们有自己的数据集合)。
为了做到这一点,我需要......
1)获取数组的计数和
2)查询用户likePost数组值以获取帖子的内容。
我目前正在使用getDocument函数,但无法弄明白。
例如......
func getUserLikedPosts() {
if let user = Auth.auth().currentUser {
let userFS = Firestore.firestore().collection("users").document(user.uid)
userFS.getDocument(completion: { (snapshot, error) in
print(snapshot?)
})
}
}
这甚至没有打印出嵌套数组?
答案 0 :(得分:3)
这样的事情应该有效:
func getUserLikedPosts() {
if let user = Auth.auth().currentUser {
let userFS = Firestore.firestore().collection("users").document(user.uid).collection(“likedPosts”)
userFS.getDocuments(completion: { (snapshot, error) in
print(snapshot?)
})
}
}
使用Firestore,您需要深入查看所需的实际节点,这与您可以访问子快照的Firebase不同。
因此,经过与OP的快速讨论后,问题是这个用户没有一个likePost对象。
访问数组(请注意,我没有测试过此代码,这是一个例子):
If let doc = document, let array = doc[“likedPost] as NSArray {
print(array)
}