gpt4 book ai didi

ios - Firebase 中的快照。如何深入挖掘快照

转载 作者:搜寻专家 更新时间:2023-11-01 07:23:28 24 4
gpt4 key购买 nike

目前我的数据是这样的

{
'listone':
{
'entrydate1':
{
'random key 1':
{
'name': 'Chris';
'date': '24 May 2016'
}
'random key 2':
{
'name': 'John';
'date': '25 May 2016'
}
}
'entrydate2':
{
'random key 1':
{
'name': 'Chris';
'date': '24 May 2016'
}
'random key 2':
{
'name': 'John';
'date': '25 May 2016'
}
}
}
}

随 secret 钥由firebase childByAutoID()生成

问题是当我获得快照时,我如何获得每个随 secret 钥的详细信息?基本上我需要从 listone 检索数据,我将通过对最早的 entrydate 进行排序来填充我的 tableview。然而,在获得快照后,我不知道如何从快照中获取信息。

     override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference()
let uid = FIRAuth.auth()!.currentUser!.uid

let listOneRef = ref.child(uid + "/listone")

_ = listOneRef.observeEventType(.Value, withBlock: { (snapshot) in


for item in snapshot.children {
let child = item.children.allObjects

for snap in child {
//anyitems was initialized as [AnyObject] array
self.anyitems.append(snap)

}
}
self.tableView.reloadData()
})

我不知道如何实际利用这些细节。当我打印 anyitems 时,我确实看到了一些细节,即

[Snap (-KJ-jqTNf3MTtY8YRH-3) {
Name = "Chris";
Date = "30 May 2016";
}, Snap (-KJ01QYoTedZkClsf13Y) {
Name = "John";
Date = "30 May 2016";
}]

最佳答案

我现在不在 Xcode 上,所以我无法验证,但它应该是这样的:

for snapshot in anyitems {
print(snapshot.value.objectForKey("Name"))
}

而且我认为下标也应该有效:

for snapshot in anyitems {
print(snapshot.value["Name"])
}

如果你需要告诉编译器类型:

for snapshot in anyitems as! [FIRDataSnapshot] {
print(snapshot.value.objectForKey("Name"))
}

但正如您所注意到的,在访问其内容之前安全地转换数组会更好:

if let snapshots = snapshot.children.allObjects as? [FIRDataSnapshot] {

}

关于ios - Firebase 中的快照。如何深入挖掘快照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37522948/

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