2017-03-05 7 views
0

Ich habe eine Tabellenansicht mit Nachrichten von Firebase geladen. Das Speichern der Daten ist einfach, aber ich versuche, einen bestimmten Knoten mit einer AutoID zu löschen.Wie entferne ich einen Referenz-AutoId-Wert in einer UItableView aus dem Firebase-Baum in Swift?

Ich weiß, ich muss einen Verweis auf den ersten Knoten bekommen, der in diesem Fall ist Posts, aber wie bekomme ich den nächsten Knoten als Referenz? In diesem Fall ist dieser Knoten eine AutoId. Unten ist der Code.

+0

Sie müssen ein Wörterbuch führen, das jede Zeile/jeden Index der Tabellenansicht dem Schlüssel des entsprechenden Elements in Firebase zuordnet. Wenn Sie dieses Wörterbuch erstellen, während Sie die Daten von Firebase lesen (im selben Moment, in dem Sie den Wert erhalten), können Sie das Wörterbuch verwenden, wenn der Benutzer auf eine Zeile klickt. –

+0

Danke Frank. Ok, also erstelle ich dieses Wörterbuch, wenn ich den Wert bekomme. Und wenn der Benutzer auf eine Zeile klickt, wird autoId an diesen Wert angehängt. Daher kann ich diese Zeichenfolge als Zeichenfolge verwenden, die an "child (key)" übergeben wird. Dieses Wörterbuch, ist es eine Klassenvariable, so dass ich nach Belieben in der gesamten Klasse darauf zugreifen kann? – Charlie

+0

Ja. Soweit ich aus dem Ausschnitt, den Sie geteilt haben, sehen kann, würde es auf der gleichen Ebene "PostData". Halten Sie einmal die 'Taste', die andere den' Wert' jeder Zeile. –

Antwort

1

Sie müssen ein Wörterbuch führen, das jede Zeile/jeden Index der Tabellenansicht dem Schlüssel des entsprechenden Elements in Firebase zuordnet.

Soweit ich aus dem Schnipsel sehen können, die Sie geteilt haben, wäre es auf dem gleichen Niveau postData. Einer hält den Schlüssel, der andere den Wert jeder Zeile.

Wenn Sie beide Wörterbücher erstellen, während Sie die Daten von Firebase lesen (im selben Moment, in dem Sie den Wert erhalten), können Sie das Wörterbuch mit den Schlüsseln verwenden, um key der Zeile zu bestimmen, auf die der Benutzer geklickt hat.

+0

genial .. danke für das .. ich verstehe was du sagst. Ich muss es jetzt einfach in Code einfügen. – Charlie

Verwandte Themen