2016-12-23 13 views
0

このクエリ全体でブレークポイントをすべてFirebaseに設定し、次の行のブレークポイントがヒットします(これは最初の行です)。Firebaseクエリが実行されない

_CHAT_REF.observeEventType(.Value, withBlock: { snapshot in 

なぜこれが起こっているのでしょうか?データがない場合でも、クエリブロック内のブレークポイントはまだヒットするはずですが、そうではありません。私がやったこと:私はFirebaseをアンインストールし、少なくとも10回、CocoaPodsとCocoaPodsの両方を使用して、Tの指示に従って再インストールしました。コンパイルエラーは一切発生せず、FIRApp.configure ()私のアプリケーションデリゲートで。

完全なコード(各ライン上のブレークポイント、唯一_CHAT_REF.observeラインと呼ばなし):

private var _CHAT_REF = FIRDatabase.database().reference().child("chats") 

_CHAT_REF.observeEventType(.Value, withBlock: { snapshot in 

    self.individualMessages = [] 

    if snapshot.hasChildren() { 
     // Found chats 
     for snap in snapshot.children { 
      let theChat = Chat(snapshot: snap as! FIRDataSnapshot) 

      // The current user belongs to this chat, so add it to individual messages. 
      if theChat.sender_id == GlobalEnv.currentUser.id || theChat.receiver_id == GlobalEnv.currentUser.id { 
       self.individualMessages.append(theChat) 
      } 
     } 
    } else { 
     // No Children 
     print("No children found.") 
    } 
    self.tvContacts.reloadData() 
}) 

DB構造:

DB Structure on Firebase

+1

...あなたはのViewControllerクラスであると仮定しますか? – Barrett

+0

プライベートvar _CHAT_REF = FIRDatabase.database()。参照()。子( "チャット") – Belvedare

+0

DB構造はどのように見えますか? – Barrett

答えて

1

私は同様の問題に遭遇しました。組織のプロキシサーバーの背後からデータベースを読み書きできないことが判明しました。私はオープンwifiを使用してデバイスに構築し、それは働いた。

+0

私はFirebaseを使って他のアプリから読み書きすることができます。これはちょうどこの1つです。Firebaseを追加した古いSwiftプロジェクトです。問題があります。私はまた別のデバイスとWi-Fiを今すぐ試しました、運はありません。 – Belvedare

+0

ラット;申し訳ありませんが動作しませんでした。 –

1

これを試してみてください。違いがある場合は教えてください。非常に簡略化されていますが、変数の割り当ては異なる方法で処理されます。

は_CHAT_REFがどのように見えるん何

class ViewController: UIViewController { 
    var ref: FIRDatabaseReference! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     ref = FIRDatabase.database().reference() 
    } 

    func clickAction() { //just tied to an action in the UI 
     let chatsRef = ref.child("chats") 
     chatsRef.observeEventType(.Value, withBlock: { snapshot in 
     print("Hello, World") 
     }) 
    } 
} 
関連する問題