getan warte ich die neue Feuerbasis api bin mit einem Kind Pfad in der Echtzeit-Datenbank zu beobachten, als „Beiträge“Firebase ObserveEvent childAdded bis
Hier ist ein JSON Eintrag:
"posts" : {
"-KLT6oYF-F_5sf-dC_2R" : {
"items" : {
"item1" : {
"location" : "Post Street Mall",
"name" : "Glasses",
"price" : "199",
"vendor" : "Clicks"
}},
"tags" : "summer, casual, urban ",
"title" : "Casual Summer "
}
Das Problem ist, wenn Ich füge etwas zu "posts" hinzu, das childAdded-Ereignis wird ausgelöst und meine App-Datenbank wird aktualisiert. Leider wurden noch nicht alle Daten mit setValue() hinzugefügt.
Gibt es eine Möglichkeit, nur in die Datenbank zu schreiben, wenn alle Elemente hinzugefügt wurden? Und wenn alle Daten für einen Post hinzugefügt wurden, senden Sie das childAdded-Signal an die App?
Jede Hilfe wird sehr geschätzt.
Basic-Beispielcode folgt:
// CREATING DATABASE OBSERVER TO SCAN POSTS
let postRef = database.child("posts")
// CONNECTING OBSERVER AND CHECKING FOR NEW ITEMS
postRef.observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in
// This is in a different class
postDBRef.child("title").setValue(self.mainImageTxt?.text) // I think this triggers the child added already? postDBRef.child("tags").setValue(self.tagsTxt?.text?.lowercaseString)
// getting cell data
for rowIndex in 0..<self.stepperValue {
let cell = self.tableView.cellForRowAtIndexPath(NSIndexPath(forRow: rowIndex, inSection: 0)) as! AddPostTableViewCell
let itemName = cell.itemNameTxt.text!
postDBRef.child("items/item\(rowIndex + 1)/name").setValue(itemName)
}
Weicht Sprache spielt Du in Code bekommen? – adolfosrs
war nicht sicher, ob dies so relevant ist, weil es mehr eine Firebase-API-Sache ist. Aber ich benutze Swift 2.0 – arvidurs
eigentlich ist es nicht. Aber es ist nett, damit wir Ihnen ein paar Beispiele in der richtigen Sprache schreiben können :) – adolfosrs