Swift - Firebase как получить только дочерние значения без родителя - PullRequest
0 голосов
/ 02 июля 2018

В базе данных у меня есть дочерние города с названием "города" под ним, и каждый город имеет несколько областей, содержит координаты

Я прошел через каждого ребенка в разделе "города", чтобы найти ближайшее местоположение, и получил название города, используя 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" и получить данные один раз

1 Ответ

0 голосов
/ 08 июля 2018

Я решил это иначе, чем пытался сделать.

Я поместил все данные в пользовательский массив - NSMutableArray () затем просмотрел этот массив и добавил оператор if (city == city2), если он равен true, строка помещается в новый массив

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...