Firebase and Swift for in loop



在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);
    }
});

最新更新