gpt4 book ai didi

json - swift 。如何从Firebase数据库的快照中获取特定数据

转载 作者:行者123 更新时间:2023-11-30 13:10:29 25 4
gpt4 key购买 nike

好的,我正在从 Firebase 数据库接收快照,这是我的代码以及我正在接收的内容:

rootRef.child("Battles").queryOrderedByChild("Player1").queryEqualToValue(CurrentFBID).observeSingleEventOfType(.Value, withBlock: { snap in
if (snap.value is NSNull) {
print("none")
} else {
print(snap.value)
}
})

接收:

{

"04361D33-AC99-4795-BB9A-0B0879882251" =

{

BattleUUID = "04361D33-AC99-4795-BB9A-0B0879882251";

Player1 = 10210238266903604;

Player2 = 12121212121212;

Score = "0-0";

Turn = 1;

};

}

我的 JSON 树:

{
"Battles" : {
"04361D33-AC99-4795-BB9A-0B0879882251" : {
"BattleUUID" : "04361D33-AC99-4795-BB9A-0B0879882251",
"Player1" : "10210238266903604",
"Player2" : "12121212121212",
"Score" : "0-0",
"Turn" : "1"
},
"07261D43-GC59-4795-BB9A-0B0871635751" : {
"BattleUUID" : "04361D33-AC99-4795-BB9A-0B0879882251",
"Player1" : "1342536342535",
"Player2" : "1524343564",
"Score" : "3-1",
"Turn" : "5"
}
}
}

如何拆分该数据,例如:

let player1 = snap.Player1.value
let player2 = snap.Player2.value
let battleUUID = snap.BattleUUID.value
let score = snap.Score.value
let turn = snap.Turn.value

最佳答案

您将立即收到所有数据。 snap 包含 children,每个 child 都属于特定的战斗。要获取与每个子项相对应的数据,您必须对 snapchildren 进行迭代,如下所示:

for item in snap.children {
let player1 = item.value?["Player1"] as! String
let player2 = item.value?["Player2"] as! String
let battleUUID = item.value?["BattleUUID"] as! String
let score = item.value?["Score"] as! String
let turn = item.value?["Turn"] as! String
}

关于json - swift 。如何从Firebase数据库的快照中获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38794202/

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