gpt4 book ai didi

ios - 当要求有更多 child 的 child 时,Firebase 得到错误的快照?

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

我在从 Firebase 获取数据时遇到问题。我设置了三个测试数据集,每个项目称为“Campaign”。对于每个“营销事件”,都可以有一个已完成营销事件的用户,该用户将在营销事件 id -> users -> userid -> informImageUrl 和已完成的图像下进行跟踪。当我尝试拉取用户的 child 和用户的 child 时,我没有获取所有数据。当没有用户时,它会正确拉取。

在 Firebase 中,其设置方式如下: Firebase Data Setup

在我的viewDidLoad中,这就是我提取数据的方式。每个“事件”都会进入 UITableViewCell:

DataService.ds.DATABASE_BASE_CAMPAIGNS.observe(.value, with: { (snapshot) in
print("menan check:\(snapshot.value!)")
if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] {
print("menan check: \(snapshot)")
self.campaigns = []
for snap in snapshot {
if let campaignData = snap.value as? Dictionary <String, AnyObject> {
let key = snap.key
let campaign = Campaigns(campaignKey: key, campaignData: campaignData)
print("menan check: \(campaignData)")
self.campaigns.append(campaign)
}
}
}
self.tableView.reloadData()
})

这是输出: The Output from the snapshot received

我花了很长时间才弄清楚?有谁知道出了什么问题吗?

最佳答案

您的数据非常深,因此您将需要更多字典来处理键值对。

这是获取最深层数据(即确认值)的快速解决方案。它可以被缩短,但我让它变得冗长,这样就可以逐行解释。

    campaignRef.observe(.value, with: { (snapshot) in
for snap in snapshot.children { //iterate over 21hb, 989 huv etc

//contains all data in 21hb
let node = snap as! FIRDataSnapshot

// represent the data in the node as a dictionary
let nodeDict = node.value as! [String: AnyObject]

//grab just the users node, whose value is also a dictionary
let users = nodeDict["users"] as! [String: AnyObject]

//iterate over each user in the users node
for user in users {
let userId = user.key //this is the user id

//the value is a dictionary of key: value
// as in confirm: url
let value = user.value as! [String: AnyObject]

//get the value for the confirm key, which is the url
let confirm = value["confirm"]

//print the user it and the confirm url
print("key = \(userId) value = \(confirm!)")
}
}
})

关于ios - 当要求有更多 child 的 child 时,Firebase 得到错误的快照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41572096/

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