使用Firebase从集合视图中删除帖子时出错

时间:2019-01-06 06:43:08

标签: swift firebase

即使在调用remove函数之后,我要删除的帖子仍被添加到集合视图中。

我希望将用户单击的帖子“不显示此按钮”从其收藏视图中删除。我正在尝试通过在Firebase数据库中创建一个节点来执行此操作,如果该节点的值/键等于字典中的帖子之一,则将其删除。

allObjects.forEach({ (snapshot) in
    guard var dictionary = snapshot.value as? [String: Any] else { return }
    removePostIfRef.observeSingleEvent(of: .value, with: { (snapshot) in
        guard let removeDic = snapshot.value as? [String: Any] else { return }
        removeDic.forEach({ (key, value) in
            dictionary.removeValue(forKey: key)
            var post = Post(user: user, dictionary: dictionary)
            post.id = snapshot.key
            self.posts.append(post)
            self.posts.sort(by: { (post1, post2) -> Bool in
                return post1.creationDate.compare(post2.creationDate) == .orderedDescending
            })
            self.collectionView?.reloadData()
        })
    })  
})

如果有更好的更有效的方式来执行此请求,请告诉我,目前似乎没有任何结果。collectionView上保留了这些帖子。

0 个答案:

没有答案