Ich verwende derzeit Firebase, um die Daten von Personen und einige Details über sie zu speichern. Dies ist, wie ich die Details aus der Datenbank abrufen meine Tableview zu füllen:Löschen von Knoten aus Firebase von TableView
let ref = FIRDatabase.database().reference().child("Users")
ref.observeEventType(.ChildAdded, withBlock:
{ (snapshot) in
if let firstname = snapshot.value?.objectForKey("firstname"), lastname = snapshot.value?.objectForKey("lastname")
{
let fullname = "\(firstname) \(lastname)"
self.names.append(fullname)
self.tableView.reloadData()
}
}, withCancelBlock: nil)
Jeder meiner Benutzer ihre eigene eindeutige ID hat, und ich versuche, sie zu, dass nach löschen. Bisher habe ich meine Benutzer löschen nur aus dem Tableview Ende und nicht aus der Datenbank:
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath)
{
if editingStyle == .Delete
{
names.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
//Delete from firebase
}
}
In meinem observePeople() -Funktion implementiert ich den Code zu beobachten, wenn ein Kind wie so entfernt wird:
ref.observeEventType(.ChildRemoved, withBlock:
{ (snapshot) in
if let firstname = snapshot.value?.objectForKey("firstname"), lastname = snapshot.value?.objectForKey("lastname"), dateOfBirth = snapshot.value?.objectForKey("Date of Birth"), zipcode = snapshot.value?.objectForKey("Zipcode")
{
print("We deleted the person \(firstname) \(lastname) with the details: \(dateOfBirth), \(zipcode)")
}
}, withCancelBlock: nil)
Also, wie kann ich den genauen Benutzer anhand ihrer ID löschen, wenn jemand sie mit einem Swipe aus dem TableView löscht?
ja genau so sieht der baum aus –