2016-08-19 8 views
1

Also ich mache eine Anwendung, wo ich Benutzerinformationen auf einer Firebase-Datenbank aktualisieren möchte. Ich habe kein Problem, wenn ich neue Daten erstelle, aber wenn ich Werte in der Tabelle ändern will, erhalte ich einen Laufzeitfehler. Das Seltsame ist, dass es die Tabelle über einen von 10 Versuchen aktualisiert, was mich wirklich verwirrt. Hier ist der Code:Aktualisieren der Firebase-Datenbank

func updateDatabase(){ 


    let colors: [String : AnyObject] = ["colorOne" : "blue" , "colorTwo" : "pink" ] 

    let databaseRef = FIRDatabase.database().reference() 
    databaseRef.child("users").child(myAccount.userUID).child("lastColor").updateChildValues(colors) 


} 

Und die Laufzeitfehler:

Terminating app due to uncaught exception 'InvalidPathValidation', reason: '(child:) Must be a non-empty string and not contain '.' '#' '$' '[' or ']''

aber so weit ich kann sagen, ich habe keine leeren Strings oder ungültige Zeichen lang sein.

+0

Ich habe auch versucht, die setValue-Methode, die einen Wert erstellen wird, wenn es keine Referenz gibt, aber den gleichen Fehler hat, wenn ich versuche, einen vorhandenen in der Datenbank zu ändern –

Antwort

0

Ich habe es gefunden! Turns ich habe die userUID Variable in der Funktion nicht gesetzt. Ich habe das hinzugefügt und es hat funktioniert. Einfacher Fehler

Verwandte Themen