Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将变量分配给Firebase快照中的子节点中的值?_Ios_Swift_Dictionary_Firebase_Firebase Realtime Database - Fatal编程技术网

Ios 如何将变量分配给Firebase快照中的子节点中的值?

Ios 如何将变量分配给Firebase快照中的子节点中的值?,ios,swift,dictionary,firebase,firebase-realtime-database,Ios,Swift,Dictionary,Firebase,Firebase Realtime Database,我正在尝试最小化我向Firebase发出的数据请求量。我有一个快照,可以提取以下数据: snap (Hole1) { GreenBackX = "40.196339"; GreenBackY = "-105.07354"; GreenCenterX = "40.196336"; GreenCenterY = "-105.073409"; GreenFrontX = "40.196342"; GreenFrontY = "-105.073283"; Hazard1 = { Carr

我正在尝试最小化我向Firebase发出的数据请求量。我有一个快照,可以提取以下数据:

snap (Hole1) {
GreenBackX = "40.196339";
GreenBackY = "-105.07354";
GreenCenterX = "40.196336";
GreenCenterY = "-105.073409";
GreenFrontX = "40.196342";
GreenFrontY = "-105.073283";
Hazard1 =     {
    CarryX = "40.196839";
    CarryY = "-105.07104";
    FrontX = "40.196893";
    FrontY = "-105.070626";
    Name = "R Fwy Bunker";
};
Hazard2 =     {
    CarryX = "40.196321";
    CarryY = "-105.071922";
    FrontX = "40.196383";
    FrontY = "-105.071573";
    Name = "L Fwy Bunker";
};
Hazard3 =     {
    CarryX = "40.196622";
    CarryY = "-105.072935";
    FrontX = "40.196662";
    FrontY = "-105.072554";
    Name = "R Fwy Bunker 2";
};
Hazard4 =     {
    CarryX = "40.196176";
    CarryY = "-105.073545";
    FrontX = "40.196225";
    FrontY = "-105.073167";
    Name = "L Greenside Bunker";
};
HoleH = "258.74";
HoleX = "40.19664";
HoleY = "-105.070484";
}
我的目标是分配一个变量,该变量将是
Hazard1\Name
。到目前为止,我在文档中只看到了一些工作示例,展示了如何获取初始值,我喜欢这样:
let holeX=value?[“holeX”]as?双重的0
,但如果您愿意,我似乎找不到任何可以让我进入“第二级”的东西


有一个例子似乎表明,可以通过以下方式引用它:
让hazard1Name=value?[“Hazard1/Name”]
但我无法让它工作

A
FIRDataSnapshot
包含来自给定Firebase数据库位置的数据。数据已下载,因此没有太多优化空间,抱歉:-(

我想你可能要找的是:

let ref: FIRDatabaseReference = ...
ref.child("Hazard1").child("Name").observeSingleEvent(of: .value) {
    (snapshot) in
    let name = snapshot.value as! String
    print("Name: \(name)")
}
否则,如果您只想从上述快照中获取数据,请尝试以下操作:

let snapshot: FIRDataSnapshot = ...
let data = snapshot.value as! [String: Any]
let hazard1 = data["Hazard1"] as! [String: Any]
let name = hazard1["Name"] as! String

谢谢你,保罗!第二张是我要找的。