我想在嵌入在标签栏控制器中的表视图控制器中查询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
。
答案 0 :(得分:0)
因此,错误实际上与在类顶部声明的var userIds: [String]!
有关。由于在数据库查询之前它是nil
,因此它给出了错误。数据库查询的实际代码很好。