gpt4 book ai didi

swift - 获取当前用户发布的消息列表

转载 作者:行者123 更新时间:2023-11-30 12:06:30 27 4
gpt4 key购买 nike

我想显示当前用户已发布的帖子列表。这就是我得到的。我需要从用户结构中获取uid。然后我需要从用户结构中检查 uid 与 posts/uid 相同。这就是我不知道该怎么做,因为我不知道如何进入具有 id 的帖子,例如:“-Kvs50Et17ilfzdgdhcK”。它需要以某种方式检查已放置的所有帖子,然后检查用户的 uid 是否与帖子的 uid 相同。请帮忙!

    var Gametext: String = ""
var Consoletext: String = ""

var dataBaseRef: DatabaseReference! {
return Database.database().reference()
}

var post: Post! {
didSet {

let postsRef = dataBaseRef.child("posts/\(Auth.auth().currentUser!.uid)")
let userQuery = postsRef.queryOrdered(byChild: "uid").queryEqual(toValue: Auth.auth().currentUser!.uid)
userQuery.observe(.childAdded, with: { (snapshot) in
print(snapshot.childSnapshot(forPath: "Game").value as? String)
print(snapshot.childSnapshot(forPath: "Console").value as? String)
}) { (error) in
print(error.localizedDescription)
}


}
}

这是我的帖子结构:

{
"posts" : {
"-Kvs50Et17ilfzdgdhcK" : {
"Console" : "Xbox One",
"ExtraInfo" : "Test",
"Game" : "test",
"Gamertag" : "test1244@gamertag",
"photoURL" : "",
"postDate" : 1.5074008811834E9,
"postId" : "C835A03A-9BAF-423E-87F0-60139DA893EB",
"uid" : "7E4vEew5RbMsWmSMijZxT4TzxHh1",
"username" : "dani Kemper"
}
},

这是我的用户结构:

    "users" : {
"7E4vEew5RbMsWmSMijZxT4TzxHh1" : {
"Console" : "Xbox One",
"Gamertag" : "test1244@gamertag",
"country" : "Antigua & Barbuda",
"email" : "dani@gmail.com",
"photoURL" : "",
"uid" : "7E4vEew5RbMsWmSMijZxT4TzxHh1",
"username" : "dani Kemper"
}
}
}

最佳答案

现在您正在数据库中读取/posts/7E4vEew5RbMsWmSMijZxT4TzxHh1。这不是用户帖子所在的位置,因此您的完成处理程序将使用不带数据的快照来调用。由于您随后尝试从中读取数据,因此代码失败。

您需要使用检查每个帖子的 uid 属性的查询从数据库读取数据:

let postsRef = dataBaseRef.child("posts/\(Auth.auth().currentUser!.uid)")
let userQuery = postsRef.queryOrder(byChild: "uid").queryEqual(toValue: Auth.auth().currentUser!.uid)
userQuery.observe(.childAdded, with: { (snapshot) in
print(snapshot.childSnapshot(forPath: "Game").value as? String)
print(snapshot.childSnapshot(forPath: "Console").value as? String)
}) { (error) in
print(error.localizedDescription)
}

我建议阅读working with lists of data 。花几个小时阅读和研究这些代码示例将节省大量时间并解决问题。

关于swift - 获取当前用户发布的消息列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46623810/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com