2016-07-31 100 views
0

我想简单地查询嵌入在标签栏控制器中的表格视图控制器内的Firebase数据库。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

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