即使在调用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
上保留了这些帖子。