Ich versuche, die Knotendaten auf Firebase zu aktualisieren, aber wenn ich ein Array sende, stürzt es ab. Und es gibt einen FehlerSenden von Daten an den Server in swift3 und firebase
Kann Objekt des Typs _SwiftValue bei 0 nicht speichern. Kann nur Objekte vom Typ NSNumber, NSString, NSDictionary und NSArray speichern.
Hier ist mein Code:
reference_user.child(user_uid).updateChildValues(["name": username, "phone": phoneNo, "url": imgUrl, "emergency": emerLocalArr], withCompletionBlock: {(error, ref) in
if (error != nil) {
KRProgressHUD.showError(progressHUDStyle: nil, maskType: nil, font: nil, message: "Couldn't Update the node")
} else {
print("success")
}
})
emerLocalArr
ist NSMutableArray
. Hier ist mein struct
struct Emergency{
var emer_id: NSNumber
var emer_name: String
var emer_phoneNo: String
init(emergency: NSDictionary) {
if emergency.object(forKey: "id") != nil {
emer_id = emergency.object(forKey: "id") as! NSNumber
}
else{
emer_id = 0
}
if emergency.object(forKey: "name") != nil {
emer_name = emergency.object(forKey: "name") as! String
}
else{
emer_name = ""
}
if emergency.object(forKey: "phoneNo") != nil{
emer_phoneNo = emergency.object(forKey: "phoneNo") as! String
}
else{
emer_phoneNo = ""
}
}
func convertToDictionary() -> [String : Any] {
let dic: [String: Any] = ["id":self.emer_id, "name":self.emer_name, "phoneNo":self.emer_phoneNo]
return dic
}
}
Welcher Art sind Ihre Werte? Der Fehler deuten darauf hin, dass sie mit Firebase nicht kompatibel sind – Starlord
der Wert in emerLocalArr ist der Modellklasse struct Notfall { var emer_id: NSNumber var emer_name: String var emer_phoneNo: String init (Notfall: NSDictionary) { } –