В базе данных у меня есть дочерние города с названием "города" под ним, и каждый город имеет несколько областей, содержит координаты
Я прошел через каждого ребенка в разделе "города", чтобы найти ближайшее местоположение, и получил название города, используя ref.child("cities").observe()
:
for child in snapshot.children {
let childSnap = child as! DataSnapshot
if let dicionary = childSnap.value as? [String: AnyObject]{
var latitude1 = dicionary["latitude"] as! Double
var longitude1 = dicionary["longitude"] as! Double
var altitude1 = dicionary["altitude"] as! Double
скажем, ближайший город - "город 2" и поместите его в переменную selectedCity.
Поэтому я повторяю и добавляю это к ref.child("cities").child(selectedCity)
:
ref.child("cities").child("\(city2)").observe(.childAdded, with: { (snapshot) in
if let dicionary = snapshot.value as? [String : AnyObject] {
print(dicionary)
var altitude = dicionary["altitude"] as! Double
var latitude = dicionary["latitude"] as! Double
var longitude = dicionary["longitude"] as! Double
var theCity = dicionary["cityName"] as! String
if theCity == city2 {
locationArray.add(location.init(area: area, city: theCity, latitude: latitude, longitude: longitude, altitude: altitude))
}
}
})
Вот где я получаю проблему, где я получаю всех детей в категории «города» в «городе 1» и «городе 2», но пропускаю остальные города и затем помещаю детей в группу «города 2», которая повторение данных
Как я могу заставить его пропустить родительские "города" и перейти к дочернему "городу 2" и получить данные один раз