gpt4 book ai didi

ios - Swift 中的 FirebaseDatabase 查询问题

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

所以我目前正在开发像snapchat这样的克隆,我正在向服务器发送拉取请求,但至于下载,进展并不顺利。我创建了一个对数据库的引用,如下所示,

var recievers: FIRDatabaseReference{
return mainRef.child("pullRequests")
}

然后我有一个 viewController 来解析数据(我知道这不是解决这个问题的最佳方法,但我只是想让它立即工作),在那里我有这个

    DataService.instance.recievers.observeSingleEvent(of: .value) {(recipients: FIRDataSnapshot) in
if let recipient = recipients.value as? Dictionary<String,AnyObject>{
var index = 0;
for(key,value) in recipient{
index = index+1
if let dict = value as? Dictionary<String,AnyObject>{
if let reciever = dict["recipents"] as? Dictionary<String,AnyObject>{
if let num = reciever["\(index)"] as? String{
let uid = num
recipientsArr.append(uid)
}
}
}
}
}
}

for i in 0...recipientsArr.count{
print(i)
}

我没有收到任何编译错误,但它也没有向recipientsArr添加任何内容,任何人都可以帮助指导我正确的方向吗?

我的 Firebase 如下所示:

最佳答案

您没有正确解码快照。从你的问题中不清楚你想要观察的值(value)事件是什么 - 它只是添加了一个新的收件人吗?整个 pullRequest?无论如何,您都会观察 pullRequest 引用,因此为了解码快照:

    if let pullRequest = recipients.value as? Dictionary<String,AnyObject>{
if let recipientsList = pullRequest["recipents"] as? Dictionary<String,AnyObject>{
for (_, value) in recipientsList {
if let uid = value as? String{
recipientsArr.append(uid)
}
}
}
}

关于ios - Swift 中的 FirebaseDatabase 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42191923/

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