Swift 将Firebase数据放入字典数组中。斯威夫特

Swift 将Firebase数据放入字典数组中。斯威夫特,swift,dictionary,firebase,firebase-realtime-database,Swift,Dictionary,Firebase,Firebase Realtime Database,我正在尝试从firebase数据库检索数据,并将结果存储在字典数组中。我想以这种方式存储数据 [[邮政编码:邮政编码,纬度:87.28764862,经度:-23.94679475694,注册:注册],[邮政编码:邮政编码,纬度:87.28764862,经度:-23.94679475694,注册:注册],[邮政编码:邮政编码,纬度:87.28764862,经度:-23.94679475694,注册:注册]] 我得到的结果是 托尼:在附加帖子之前 托尼:post[appname.post] 我哪里做

我正在尝试从firebase数据库检索数据,并将结果存储在字典数组中。我想以这种方式存储数据

[[邮政编码:邮政编码,纬度:87.28764862,经度:-23.94679475694,注册:注册],[邮政编码:邮政编码,纬度:87.28764862,经度:-23.94679475694,注册:注册],[邮政编码:邮政编码,纬度:87.28764862,经度:-23.94679475694,注册:注册]]

我得到的结果是

托尼:在附加帖子之前 托尼:post[appname.post]

我哪里做错了

var places = [String]()
var postsNew = [Post]()
var posts = [String: Any]()

DataService.ds.REF_POSTS.observe(.value, with: { (snapshot) in
        if snapshot.hasChild("postCodes") {
            let refToUser = DataService.ds.REF_POSTS
            refToUser.child("postCodes").observe(.value, with: { snapshot in

                let value = snapshot.value as? NSDictionary
                let postsIds = value?.allKeys as! [String]
                for postId in postsIds {
                    let refToPost = Database.database().reference(withPath: "posts/" + "postCodes/" + postId)
                    refToPost.observe(.value, with: { snapshot in
                        if snapshot.exists() {

                            let postDict = snapshot.value as? Dictionary<String, AnyObject>
                            let pCodeData = snapshot.key
                            let post = Post(postKey: pCodeData, postData: postDict!)


                            self.configureCell(post: post)
                            print("Tony: before append post \(self.postsNew)")
                            self.postsNew.append(post)
                            print("Tony: post \(self.postsNew)")


                }else {
                            print("Tony: Couldn't get the data")
                        }
                    })
                }
            })
        }else {
            print("Tony: No Favs added, couldn't get the data")
        }

    })


func configureCell(post: Post) {
    self.postData = post

    self.latitude = post.latitude
    self.longitude = post.longitude
    self.postCodeDB = post.postCode
    self.registration = post.other2

}
var places=[String]()
var postsNew=[Post]()
var posts=[String:Any]()
DataService.ds.REF_POSTS.observe(.value),其中:{(快照)在
如果snapshot.hasChild(“邮政编码”){
让refToUser=DataService.ds.REF\u POSTS
child(“邮政编码”).observe(.value,带:{snapshot in
设value=snapshot.value为?NSDictionary
设postsIds=value?.allKeys为![String]
在POSTSID中发布{
让refToPost=Database.Database().reference(使用路径:“posts/”+“postCodes/”+postd)
refToPost.observe(.value,带:{snapshot in
如果snapshot.exists()存在{
让postDict=snapshot.value作为字典
让pCodeData=snapshot.key
让post=post(postKey:pCodeData,postData:postDict!)
自配置单元(post:post)
打印(“Tony:beforepend post\(self.postsNew)”之前)
self.postsNew.append(post)
打印(“Tony:post\(self.postsNew)”)
}否则{
打印(“托尼:无法获取数据”)
}
})
}
})
}否则{
打印(“托尼:没有添加FAV,无法获取数据”)
}
})
功能配置单元(post:post){
self.postData=post
self.latitude=post.latitude
self.longitude=post.longitude
self.postCodeDB=post.postCode
self.registration=post.other2
}
在我的博士后课程中

    init(postKey: String, postData: Dictionary<String, AnyObject>) {
    self._postKey = postKey
init(postKey:String,postData:Dictionary){
self.\u postKey=postKey
我的firebase数据


如果我在firebase中添加另一个,我会得到这个结果…

我通过查看代码找到了答案

DataService.ds.REF_POSTS.child("postCodes").observe(.value, with: { (snapshot) in

                let value = snapshot.value as? NSDictionary
                let postsIds = value?.allKeys as! [String]
                for postId in postsIds {
                    let refToPost = Database.database().reference(withPath: "posts/" + "postCodes/" + postId)
                    refToPost.observe(.value, with: { snapshot in
                        if snapshot.exists() {

                            let postDict = snapshot.value as? [String: AnyObject]

                            print("Tony: before append post \(self.posts)")
                            self.posts.append(postDict!)
                            print("Tony: post \(self.posts)")
                            self.showSightingsOnMap()

                }else {
                            print("Tony: Couldn't get the data")
                        }
                    })
                }
            })