2016-05-26 7 views
0

Ich verwende Geofire, um Objekte mit ihrem Standort zu speichern.Firebase-Objekt über Schlüssel abrufen

Um Artikel in einem bestimmten Bereich abrufen, ich Geofire geo query:

var queryHandle = query.observeEventType(.KeyEntered, withBlock: {(key: String!, location: CLLocation!) in 
    println("Key '\(key)' entered the search area and is at location '\(location)'") 
}) 

Das Ergebnis ist, wie erwartet, Schlüssel im angegebenen Bereich - meine Frage ist: wie bekomme ich das eigentliche Objekt also kann ich auf den Rest der Eigenschaften zugreifen, die es hat?

ich das alles als Teil eines UITableView mache, weil ich will Objekte in der Nähe von mir in einer Tabelle präsentieren (und später auf einer Karte)

best Practices in bevölkert eine UITableView geofire verwendet wird erkannt werden auch.

Vielen Dank!

+0

In der Regel mit einer Schleife von https://firebase.google.com/docs/database/ios/retrieve-data#read_data_once. Lies meine Antwort hier, warum das nicht so langsam ist, wie du vielleicht denkst: http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-using- Abfrage-statt-von-obse/35932786 # 35932786 –

Antwort

0

Sie können einfach ein einzelnes Wert-Ereignis erstellen und den Wert lesen. Firebase ist schnell und effizient genug, um es zu lesen und das wird problemlos mit UITableViews und mit UICollectionViews problemlos funktionieren.


    //ref is the reference to your object's parent path, and key is the value you received with the geofire query 
    ref.childByAppendingPath(key).observeSingleEventOfType(.Value, withBlock: {  
     (snapshot:FDataSnapshot!) in 

     //The snapshot has the data of your actual object   

    }) 
Verwandte Themen