2016-09-05 6 views
2

Ich lerne derzeit die Grundlagen von Firebase und iOS, also bitte bitte mit mir. Ich poste zur Zeit an meinen Tisch genannt Posts wie hier gezeigt:Firebase: Abrufen von childByAutoID aus der Realtime-Datenbank

let postInfo = ["Description": txtPostDescription.text!, "ImageUrl": imgUrl, "Likes": 0] 

var t = FIRDatabase.database().reference().child("Posts").childByAutoId().setValue(postInfo) 

print(t) 

Ich versuche, die primary key abzurufen, die erstellt wird, wenn ich den neuen Datensatz einfügen, aber ich bin nicht in der Lage, es abzurufen. Ich habe versucht childByAutoId() (, aber das war eine zufällige Schätzung aufgrund Surfen im Internet und nicht in der Lage zu finden, eine feste Lösung). Irgendwelche Ideen?

Antwort

6
let postInfo = ["Description": txtPostDescription.text!, "ImageUrl": imgUrl, "Likes": 0] 

var reference = FIRDatabase.database().reference().child("Posts").childByAutoId() 

reference.setValue(postInfo) 
let childautoID = reference.key 
print(childautoID) 

Hinweis: - althogh childByAutoId() eine große Funktionalität von Firebase .Aber timestamps bevorzugt die Daten in speichern, wenn Sie einen Knoten mit einem einzigartigen Schlüssels.Verfahren Grunde zu schaffen, warum ich Zeitstempel bevorzugen ist, weil sie kann auch beim Sortieren von Daten hilfreich sein ... Aber das ist nur .. me

Alternative: -

let timeStamp = Int(NSDate.timeIntervalSinceReferenceDate()*1000) //Will give you a unique id every second or even millisecond if you want.. 
FIRDatabase.database().reference().child("Posts").child(timeStamp).setValue(postInfo) 
+0

Arbeiten, Dank @Dravidian –

+0

Dank @Dravidian –

Verwandte Themen