Swift 从autoID节点中检索值
我想从autoID节点中获取值。以下是我的结构:Swift 从autoID节点中检索值,swift,firebase,Swift,Firebase,我想从autoID节点中获取值。以下是我的结构: "workout" "exercise" "Bench Press" "(AutoIDNode)" "reps: 10" "set: 1" "weight: 60" 如何获取“reps”、“set”和“weight”的值 这是我的swift代码: refSets.child("workout").child("exercise").child("Bench Press").
"workout"
"exercise"
"Bench Press"
"(AutoIDNode)"
"reps: 10"
"set: 1"
"weight: 60"
如何获取“reps”、“set”和“weight”的值
这是我的swift代码:
refSets.child("workout").child("exercise").child("Bench Press").observe(DataEventType.value, with: {(snapshot) in
if snapshot.childrenCount > 0 {
self.setsData.removeAll()
for sets in snapshot.children {
let snap = sets as! DataSnapshot
let key = snap.key
let value = snap.value
print(key)
print(value!)
}
}
})
我知道我在.child(“台式压力机”)之后缺少autoID节点的.child()路径。如何访问此节点
提前感谢您可以试试
refSets.child("workout").child("exercise").child("Bench Press").observeSingleEvent(of: .value, with: {(snapshot) in
if let res = snapshot.value as? [String:[String:Int]] {
for item in Array(res.values) {
print(item["reps"])
}
}
})
你可以试试
refSets.child("workout").child("exercise").child("Bench Press").observeSingleEvent(of: .value, with: {(snapshot) in
if let res = snapshot.value as? [String:[String:Int]] {
for item in Array(res.values) {
print(item["reps"])
}
}
})
那怎么办
refSets
.child("workout")
.child("exercise")
.child("Bench Press").observe(.value, with: {(snapshot) in
guard let values = snapshot.value as [String: Any] else {
return
}
for (key, value) in values {
guard let objDict = value as? [String: Any],
let reps = objDict["reps"] as? Double /*not sure maybe Int*/,
let set = objDict["set"] as? Double,
let weight = objDict["weight"] as? Double else {
continue
}
let bp = BenchPress(reps: reps, set: set, weight: weight)
}
})
struct BenchPress {
private let reps: Double
private let set: Double
private let weight: Double
init(reps: Double, set: Double, weight: Double) {
self.reps = reps
self.set = set
self.weight = weight
}
}
那怎么办
refSets
.child("workout")
.child("exercise")
.child("Bench Press").observe(.value, with: {(snapshot) in
guard let values = snapshot.value as [String: Any] else {
return
}
for (key, value) in values {
guard let objDict = value as? [String: Any],
let reps = objDict["reps"] as? Double /*not sure maybe Int*/,
let set = objDict["set"] as? Double,
let weight = objDict["weight"] as? Double else {
continue
}
let bp = BenchPress(reps: reps, set: set, weight: weight)
}
})
struct BenchPress {
private let reps: Double
private let set: Double
private let weight: Double
init(reps: Double, set: Double, weight: Double) {
self.reps = reps
self.set = set
self.weight = weight
}
}