在Firebase中,我有
firebase app link / data / vets
groomers
如何在.observeEventType()
中制作两个for in
循环(一个用于迭代兽医,另一个用于迭代美容师)
更新:我无法复制/粘贴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
我正在为每位兽医和美容师在地图上制作别针。因此,对我来说,在兽医/美容师中循环很重要,因为我正在那里建模新的兽医/美容师,这些兽医/美容师最终会出现在地图上。它必须是这样的,因为我已经删除了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);
}
});