使用调试器,它显示快照具有3个值,但帖子具有0个值,因此我认为我错误地使用了FlatMap。也许有更好的方法将数据存储到帖子中。
static func observePosts(for user: User = User.current, withCompletion completion: @escaping (DatabaseReference, [Post]) -> Void) -> DatabaseHandle {
let ref = Database.database().reference().child("posts").child(user.username)
return ref.observe(.value, with: { (snapshot) in
guard let snapshot = snapshot.children.allObjects as? [DataSnapshot] else {
return completion(ref, [])
}
let posts = snapshot.flatMap(Post.init)
completion(ref, posts)
})
}
答案 0 :(得分:0)
我认为快照只是当时可用数据的图片。您不能直接将快照对象与“张贴”类型匹配。请执行以下操作
response.result.context