Firebase 和 Swift for in 循环
Firebase and Swift for in loop
在 Firebase 中我有
firebase app link / data / vets
groomers
如何在 .observeEventType()
中制作两个 for in
循环(一个用于迭代兽医,另一个用于迭代美容师)
更新:
我不能 copy/paste 我的 Firebase 中的所有数据,因为这是一个秘密,但它看起来像这样。
data
vets
childKey
name: Some Name
address: Some Address
childKey
name: Some Name
address: Some Address
groomers
childKey
name: Some Name
address: Some Address
childKey
name: Some Name
address: Some Address
我正在为每个兽医和美容师在地图上制作别针。因此,在 vets/groomers 中进行循环对我来说很重要,因为我正在为新的 vets/groomers 建模,最终出现在地图上。它必须是这样的,因为我已经删除了 observeSingleEventOfType()
末尾的所有注释,因为它必须是实时地图。
这是我的初始代码,在我添加修饰器之前一直运行良好...
DataService.ds.refData.observeEventType(.Value, withBlock: { snapshot in
if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] {
for snap in snapshots {
if let vetDict = snap.value as? Dictionary<String, AnyObject> {
let key = snap.key
let vet = Vet(vetKey: key, dict: vetDict)
self.grabLoc(vet.address, city: vet.city, name: vet.name, displayAddress: vet.displayAddress, key: vet.vetKey, id: vet.id)
}
}
}
})
像这样的东西就可以了:
ref.childByAppendingPath("data").observeSingleEventOfType(.Value, withBlock: { snapshot in
for child in snapshot.childSnapshotForPath("vets").children {
print(child.key);
}
for child in snapshot.childSnapshotForPath("groomers").children {
print(child.key);
}
});
在 Firebase 中我有
firebase app link / data / vets
groomers
如何在 .observeEventType()
for in
循环(一个用于迭代兽医,另一个用于迭代美容师)
更新: 我不能 copy/paste 我的 Firebase 中的所有数据,因为这是一个秘密,但它看起来像这样。
data
vets
childKey
name: Some Name
address: Some Address
childKey
name: Some Name
address: Some Address
groomers
childKey
name: Some Name
address: Some Address
childKey
name: Some Name
address: Some Address
我正在为每个兽医和美容师在地图上制作别针。因此,在 vets/groomers 中进行循环对我来说很重要,因为我正在为新的 vets/groomers 建模,最终出现在地图上。它必须是这样的,因为我已经删除了 observeSingleEventOfType()
末尾的所有注释,因为它必须是实时地图。
这是我的初始代码,在我添加修饰器之前一直运行良好...
DataService.ds.refData.observeEventType(.Value, withBlock: { snapshot in
if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] {
for snap in snapshots {
if let vetDict = snap.value as? Dictionary<String, AnyObject> {
let key = snap.key
let vet = Vet(vetKey: key, dict: vetDict)
self.grabLoc(vet.address, city: vet.city, name: vet.name, displayAddress: vet.displayAddress, key: vet.vetKey, id: vet.id)
}
}
}
})
像这样的东西就可以了:
ref.childByAppendingPath("data").observeSingleEventOfType(.Value, withBlock: { snapshot in
for child in snapshot.childSnapshotForPath("vets").children {
print(child.key);
}
for child in snapshot.childSnapshotForPath("groomers").children {
print(child.key);
}
});