2016-12-02 3 views
0

Firebase screenshotSwift - Abrufen von Auto-ID zugewiesen von Firebase

Ich bin eine einfache App zu machen, die innerhalb dieser Datenbank den Namen jedes Element zeigt, und wenn der Benutzer klaut links, können sie den Artikel löschen, zusammen mit seinen Name und Menge. Wenn dies passiert, muss ich den gesamten Knoten aus der Datenbank löschen. Wie würde ich ihre IDs dazu erhalten?

Zum Beispiel, wenn Benutzer links auf Apple wischt, muss ich die ID KXsWXi1XE5cwdJiJQnj erhalten und den gesamten Abschnitt löschen.

Vielen Dank im Voraus.

Antwort

0

Wahrscheinlich möchten Sie die ID einer Zelle der tatsächlichen Zelle zuordnen. Sie können dies tun, indem Sie eine Liste von IDs erstellen und jede ID aus Ihrer Datenbank an diese Liste anhängen. Wenn der Benutzer das zweite Element in der Liste auswählt, können Sie auf die zugehörige ID zugreifen, indem Sie zu dem Sekunde Element in der Liste der IDs wechseln.

Zum Beispiel:

var listOfIDs = [String]() // goes in public scope of class 

//Adding data from database to populate cells 
for child in snapshot.children { 
    // Add child info to your list of info being displayed 
    // HERE YOU WOULD APPEND listOfIDs by this child's ID 
} 
0

Try this: -

FIRDatabase.database().reference().child("ShoppingItems").observeSingleEvent(of: .value, with: {(Snapshot) in 


     if let snapDict = Snapshot.value as? [String:AnyObject]{ 

      for each in snapDict{ 

       let key = each.key 
       print(key) 

      } 
     } 
    }) 

zu löschen: -

  • Löschen aus der lokalen Datenbank dh Array und rufen Sie dann diese Funktion

    FIRDatabase.database().reference().child("ShoppingItems/\(key)").removeValue() 
    

    Wo Schlüssel ist der Schlüssel für den Wert oder die Zelle.

Verwandte Themen