Невозможно получить данные из базы данных Firebase.ref.child (""). queryOrderedByKey (). Наблюдать за отсутствием ответа - PullRequest
1 голос
/ 20 мая 2019

Я пытаюсь получить список сообщений из моей базы данных Firebase, но это не работает. Конкретный кусок кода, с которым у меня возникают проблемы, это line ref.child("users").queryOrderedByKey().observeSingleEvent. Когда я отлаживаю приложение, оно просто пропускает эту строку и приложение переходит на ref.removeAllObservers(). Я вызываю правильные функции для извлечения из моей базы данных? Учебник, который я использую, взят из Swift3, поэтому он может быть устаревшим.

Я пробовал вызывать наблюдатель вместо Наблюдать за одним событием, но это имело тот же результат.

Вот моя функция fetchPosts:

func fetchPosts(){
        let ref = Database.database().reference()

        ref.child("users").queryOrderedByKey().observeSingleEvent(of: .value, with: {snapshot in
            let users = snapshot.value as! [String : AnyObject]

            for (_,value) in users {
                if let uid = value["uid"] as? String{
                    if uid == Auth.auth().currentUser?.uid {
                        if let followingUsers = value["following"] as? [String: String]{
                            for(_, user) in followingUsers {
                                self.following.append(user)
                            }
                        }
                        self.following.append(Auth.auth().currentUser!.uid)

                        ref.child("posts").queryOrderedByKey().observeSingleEvent(of: .value, with: {(snap) in

                            let postsSnap = snap.value as! [String : AnyObject]

                            for(_, post) in postsSnap {
                                if let userID = post["userID"] as? String{
                                    for each in self.following{
                                        if each == userID{
                                            let posst = Post()
                                            if let author = post["author"] as? String, let likes = post["likes"] as? Int, let pathToImage = post["pathToImage"] as? String, let postID = post["postID"] as? String{

                                                posst.author = author
                                                posst.likes = likes
                                                posst.pathToImage = pathToImage
                                                posst.postID = postID
                                                posst.userID = userID

                                                self.posts.append(posst)
                                            }
                                        }
                                    }
                                    self.collectionview.reloadData()
                                }
                            }
                        })
                    }
                }
            }

        })
         ref.removeAllObservers()
    }

Я надеюсь заполнить коллекцию представлением информации из моей базы данных Firebase. Нет сообщений об ошибках.

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