Можно ли читать с нескольких дочерних узлов? - PullRequest
0 голосов
/ 11 февраля 2020

Я хочу прочитать все три источника данных из "Искусство и гуманитарные науки" и "Красота и стиль". Возможно ли это?

Image of database:

Let ref = Database.database().reference().child("posts")
//CODE A: Pulls 2 snapshot, but doesn't display anything

let ref = Database.database().reference().child("posts").child("Arts & Humanities")
//CODE B: only pulls up the two feeds but excludes beauty and style.  Vice versa

// Ниже приведен код прослушивателя, который у меня есть. Это работает только с кодом B выше; но в идеале я хотел бы прочитать пост в разделе «Красота и стиль».

postsRef.observeSingleEvent(of: .value, with: { snapshot in
    var tempPosts = [PostModel]()

    for child in snapshot.children {
        print(snapshot.childrenCount)
        if let childSnapshot = child as? DataSnapshot,

            let dict = childSnapshot.value as? [String:Any],
            let author = dict["author"] as? [String:Any],

            let uid = author["uid"] as? String,
            let username = author["username"] as? String,
            let fullname = author["fullname"] as? String,
            let patthToImage = author["patthToImage"] as? String,
            let url = URL(string:patthToImage),

            let pathToImage = dict["pathToImage"] as? String,
            let likes = dict["likes"] as? Int,
            let postID = dict["postID"] as? String,
            let message = dict["message"] as? String,
            let genre = dict["genre"] as? String,
            let timestamp = dict["timestamp"] as? Double {

            if childSnapshot.key != lastPost?.id {
                let userProfile = UserProfile(uid: uid, fullname: fullname, username: username, patthToImage: url)
                let post = PostModel(genre: genre, likes: likes, message: message, pathToImage: pathToImage, postID: postID, userID: pathToImage, timestamp: timestamp, id: childSnapshot.key, author: userProfile)
                tempPosts.insert(post, at: 0)
                if lastPost?.id != nil {
                    lastPostIdChecker = lastPost!.id
                }
            }
        }
    }
    return completion(tempPosts)
})

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