Я пытаюсь извлечь информацию из базы данных Firebase и использовать ее для создания объекта типа Order
. Ошибка, которую я напечатал в выводе, выглядит следующим образом.ошибка создания объекта с использованием значений Firebase
Ошибка домена = myProjectName.OrderError Code = 0 "(нуль)"
Я не уверен, что это означает, что именно, и как это исправить. Я определил пользовательский тип ошибки в моем классе Order, как показано ниже.
enum OrderError: ErrorType
{
case IllegalOrderNumber
case InvalidEntry
}
Ошибка выражается в следующем фрагменте кода.
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)
}
})
Я делаю все ошибки проверки, когда пользователь вводит значение в базу данных, так что не должно быть никаких оснований для возникновения сгенерирована ошибка.
Положите точку останова и напечатайте 'error.description', что он печатает? – Santosh
он печатает, как я уже говорил выше. Ошибка домена = myProjectName.OrderError Code = 0 "(null)" ' – sBourne