仅从firebase快照(swift)中提取双精度

仅从firebase快照(swift)中提取双精度,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,这是我在firebase中的数据: 重写func viewDidLoad(){ 无论我尝试什么,我都会得到完整的信息(姓名和时间): 我想不出如何只计算小时/双倍而不计算姓名 (顺便说一句,我是新来的,这可能很愚蠢——我真诚的道歉。我想你可能在寻找: print(snapshot.childSnapshot(forPath:"Agerskov").value) 如果您不知道子节点的键,可以访问子快照: for child in snapshot.children {

这是我在firebase中的数据:

重写func viewDidLoad(){

无论我尝试什么,我都会得到完整的信息(姓名和时间): 我想不出如何只计算小时/双倍而不计算姓名


(顺便说一句,我是新来的,这可能很愚蠢——我真诚的道歉。

我想你可能在寻找:

print(snapshot.childSnapshot(forPath:"Agerskov").value)

如果您不知道子节点的键,可以访问子快照:

for child in snapshot.children {
  let snap = child as! DataSnapshot
  print(snap.key)
  print(snap.value)
}

当您搜索时也可以看到这些结果。

我想您可能正在寻找:

print(snapshot.childSnapshot(forPath:"Agerskov").value)

如果您不知道子节点的键,可以访问子快照:

for child in snapshot.children {
  let snap = child as! DataSnapshot
  print(snap.key)
  print(snap.value)
}

搜索时也可以看到这些结果。

请尝试删除与问题不相关的代码。我尽可能地清理了它。剩下的代码是我尝试将firebase数据分成两个元素。名称为String,小时为Double-以便我可以在列表中使用小时。希望它能澄清一点。发生了什么ns如果执行
let sala=snapshot.value as?[String:Any]
?相同的结果,我得到的是字符串和双精度-作为一个。这与问题完全无关,但您可能希望更改节点密钥的存储方式。节点密钥必须是唯一的,因此当您有John Smith和Larry Smith时会发生什么?此外,节点密钥不能包含某些字符-如果您查看输出,您已经可以在action
S/U00F8rensen
。因此,更好的方法是使用
.childByAutoId
创建节点键,然后将姓氏和金额存储为子节点;它看起来像这样
一些节点/名称:Agerskov
,然后
/price:19
请尝试删除与我清理的问题不相关的代码我尽可能地把它整理好。剩下的代码是我试图把firebase数据分成两个元素。名称为String,小时为Double-这样我就可以在列表中使用小时。希望它能澄清一点。如果你做
let sala=snapshot.value as?[String:Any]
?相同的结果,我得到的是字符串和双精度-作为一个。这与问题完全无关,但您可能希望更改节点密钥的存储方式。节点密钥必须是唯一的,因此当您有John Smith和Larry Smith时会发生什么?此外,节点密钥不能包含某些字符-如果您查看输出,您已经可以在Action
S/U00F8rensen
。因此,更好的方法是使用
.childByAutoId
创建节点键,然后将姓氏和金额存储为子节点;它看起来像这样
一些节点/名称:Agerskov
,然后
/price:19
我不知道我可以在这里使用循环!成功了!这是我的大问题因为我不知道钥匙!它解决了问题和奖金,我现在知道我可以在“快照”内循环!谢谢!我不知道我可以在这里使用循环!成功了!这是我的大问题,因为我不知道钥匙!它解决了问题和奖金,我现在知道我可以在“快照”内循环!谢谢!