2016-12-23 3 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

Что _CHAT_REF выглядит? – Barrett

+0

private var _CHAT_REF = FIRDatabase.database(). Reference(). Child ("chats") – Belvedare

+0

Как выглядит ваша структура базы данных? – Barrett

ответ

1

я столкнулся с подобной проблемой. Оказалось, что я не смог прочитать/написать базу данных из-за прокси-сервера моей организации. Я построил устройство, используя открытый Wi-Fi, и он сработал.

+0

Я, кажется, умею читать/писать из других приложений просто отлично, что я использую Firebase. Это только этот, более старый проект Swift, в который я добавил Firebase, что у меня проблемы. Я также попробовал другое устройство и Wi-Fi только сейчас, не повезло. – Belvedare

+0

Крысы; извините, что не сработал. –

1

Попробуйте это и сообщите мне, если это имеет значение. Он очень упрощен, но назначения переменных обрабатываются по-разному.

предположим, что вы в классе ViewController ...

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") 
     }) 
    } 
} 
Смежные вопросы