Firebase数据库查询出错

时间:2016-07-31 22:42:17

标签: ios swift xcode swift2 firebase-realtime-database

我想在嵌入在标签栏控制器中的表视图控制器中查询Firebase数据库。

我的数据结构如下:

messages
    KO1222_mhm2U6dSC6Kp
        senderDisplayName: "someRandomNameOrEmail"
        senderId: "LfCqpbberPb5doQuFrGHpQDfJSV2"
        text: "ExampleMessage"
    KO12AzTeX_CN8fWDXtI
        senderDisplayName: "someRandomNameOrEmail2"
        senderId: "7S4vEd2IJleIFhuU59aA3G7QETI3"
        text: "To freedom"
    KO12PD47C7NkhAZhW7z
        senderDisplayName: "someRandomNameOrEmail"
        senderId: "LfCqpbberPb5doQuFrGHpQDfJSV2"
        text: "Wow"
etc etc

我试过了:

ref.child("messages").observeEventType(.Value, withBlock: { snapshot in

     print(snapshot.childrenCount) // I got the expected number of items
     let enumerator = snapshot.children

     while let rest = enumerator.nextObject() as? FIRDataSnapshot {
         print(rest.value)
     }
     })
viewDidLoad中的

但这会在表视图控制器中出错。它适用于嵌入在同一标签栏控制器中的普通视图控制器。我收到一个错误

fatal error: unexpectedly found nil while unwrapping an Optional value

有人可以帮助我了解如何以这种方式查询Firebase数据库吗? ref不是零;它打印出来为https://my_app_name.firebaseio.com/messages

1 个答案:

答案 0 :(得分:0)

因此,错误实际上与在类顶部声明的var userIds: [String]!有关。由于在数据库查询之前它是nil,因此它给出了错误。数据库查询的实际代码很好。