Firebaseデータベースから情報をプルダウンして、タイプOrder
のオブジェクトを作成しようとしています。 catch文で出力したエラーは次のとおりです。Firebase値を使用してオブジェクトを作成中にエラーが発生しました
エラードメイン= myProjectName.OrderErrorコード= 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
上記のように出力されます。 'Error Domain = myProjectName.OrderError Code = 0"(null) "' – sBourne