2016-07-31 2 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 

는 I 시도 :

viewDidLoad
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) 
    } 
    }) 

하지만 이것은 테이블 뷰 제어기에서 오류를 준다. 그것은 같은 탭 표시 줄 컨트롤러에 포함 된 일반보기 컨트롤러에서 작동합니다. 오류가 발생합니다

fatal error: unexpectedly found nil while unwrapping an Optional value 

이 방법으로 Firebase 데이터베이스를 쿼리하는 방법을 이해하는 사람이 있습니까? ref은 0이 아닙니다. https://my_app_name.firebaseio.com/messages으로 인쇄됩니다.

답변

0

그래서 실제로 오류는 클래스 상단에 선언 된 var userIds: [String]!과 관련이 있습니다. 데이터베이스 쿼리 이전에 nil 이었기 때문에 오류가 발생했습니다. 데이터베이스 쿼리의 실제 코드는 괜찮 았습니다.

관련 문제