如何使用平面图将快照数据存储到变量中

时间:2019-01-08 02:27:40

标签: swift database snapshot

使用调试器,它显示快照具有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)
    })
}

1 个答案:

答案 0 :(得分:0)

我认为快照只是当时可用数据的图片。您不能直接将快照对象与“张贴”类型匹配。请执行以下操作

response.result.context