Ich versuche, Informationen aus meiner Firebase-Datenbank abzurufen und damit ein Objekt vom Typ Order
zu erstellen. Der Fehler, den ich in der catch-Anweisung gedruckt habe, lautet wie folgt.Fehler beim Erstellen eines Objekts mit Firebase-Werten
Fehler Domain = myProjectName.OrderError-Code = 0 "(null)"
Ich bin nicht sicher, was das genau bedeutet, oder wie man es beheben. Ich habe einen benutzerdefinierten Fehlertyp in meiner Order-Klasse definiert, wie unten gezeigt.
enum OrderError: ErrorType
{
case IllegalOrderNumber
case InvalidEntry
}
Der Fehler wird durch das folgende Code-Snippet generiert.
self.ref.child("orders").observeEventType(.ChildAdded, withBlock: { (snapshot) in
let pickupLoc = snapshot.value!["pickupLocation"] as? String
let dropoffLoc = snapshot.value!["dropoffLocation"] as? String
let orderNumInt = snapshot.value!["orderNum"] as? Int
//since the database will return nil if you try and cast a string to an int
//we get it as an int then cast to string
let orderNum = String(orderNumInt)
do
{
let myOrder = try Order(PickUpLoc: pickupLoc, DropOffLoc: dropoffLoc, OrderNum: orderNum)!
self.orders.append(myOrder)
}
catch let error as NSError
{
//should never get here
print(error)
}
})
ich alle der Fehlerprüfung, wenn der Benutzer den Wert in die Datenbank eingibt, so sollte es keinen Grund für die da sein, ein Fehler erzeugt werden.
Setzen Sie einen Haltepunkt und drucken 'error.description', was es druckt? – Santosh
es druckt wie ich oben sagte 'Fehler Domain = myProjectName.OrderError Code = 0" (null) "' – sBourne