Чтение местоположения от нескольких пользователей с уникальным идентификатором с использованием Swift 4 и Firebase - PullRequest
0 голосов
/ 28 августа 2018

так что я боролся с этим уже два дня. Я искал везде и не нашел ответа, который мог бы мне помочь. Возможно я использую неправильные ключевые слова.

Вот проблема.

У меня есть эти данные в моей базе данных Firebase Realtime

-users
 VZUFNaLJ6YN5aqIDaFGmxWKGYNc2
  -location
     -latitude: 123
     -longitude: 123
 RXUFNaLJ6OI7G57DaFGmxWKHG76T
  -location
     -latitude: 321
     -longitude: 321

И вывод, который я надеюсь получить, это


широта: 123

долгота: 123

широта: 321

долгота: 321


У меня действительно нет рабочего кода для публикации здесь, я надеялся, что кто-нибудь сможет помочь мне понять, что нужно сделать. Спасибо.

Что у меня есть, так это

// Read location from all user
        func globalCoor(){
        ref.child("location").observeSingleEvent(of: .value)
           { (snapshot) in
             let locationData = snapshot.value as? [String: Any]
            print(locationData)
            }
        }

1 Ответ

0 голосов
/ 29 августа 2018

Попробуйте, у вас нет XCode, чтобы увидеть, работает ли он. Помните, что если вы загружаете это в tableView / collectionView, вам нужно будет вызвать reloadData().

import UIKit
import FirebaseDatabase
import FirebaseAuth

class Example: UIViewController, UITableViewDelegate, UITableViewDataSource {

    //Vars
    var ref: DatabaseReference!
    var locations = [Locations]()


    override func viewDidLoad() {
        super.viewDidLoad()

        ref = Database.database().reference()

        retrieveData()
    }

    func retrieveData() {

        ref.child("users").observe(.value, with: { snapshot in
            for rest in snapshot.children.allObjects as! [DataSnapshot] {
                for child in rest.children {
                    let snap = child as! DataSnapshot
                    let dict = snap.value as? NSDictionary
                    let latitude = dict!["latitude"] as! String
                    let longitude = dict!["longitude"] as! String

                    let newElement = Locations(withArgs: latitude, longitude: longitude)
                    self.locations.append(newElement)
                }
            }
        })
    }
}


class Locations  {
    var longitude: String
    var latitude: String

    init(withArgs longitude: String, latitude: String) {
        self.longitude = longitude
        self.latitude = latitude
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...