Как получить непрочитанное сообщение с Firebase iOS - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь создать метод для отображения, когда пользователь получил новое сообщение, но когда я использую фильтр Firebase, он также присваивается другим строкам

Структура базы Firebase

"users" : {
      "4" : {
        "address" : "Street",
         "id" : "198",


 "messages" : {
    "-LHf9ifs5Hcfu0VGKSsc" : {
      "forUid_status" : "198_read",
      "fromId" : "4",
      "read" : true,
      "text" : "1",
      "timestamp" : 1531880074,
      "toId" : "198"
    }



 "user-messages" : {
    "4" : {
      "43" : {
        "-LKxkblwwS5FgJR3RhuI" : 1
      }
    },

Я поместил этот метод в cellForRowAt indexPath

 let messagesRef = Database.database().reference().child("messages")
                let uid = message.toId
                let status = "unread"
                let queryString = uid! + "_" + status

                let ref = messagesRef.queryOrdered(byChild: "forUid_status").queryEqual(toValue: queryString)
                ref.observe(.value, with: { snapshot in
                    if snapshot.exists() {
                        let count = snapshot.childrenCount
                        cell.messagesCount.isHidden = false

                    } else {


                        print("no unread messages")
                    }
                })

Есть ли способ сделать это? Я исследовал другие вопросы, но не смог найти решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...