我有以下代码来观察图片的新评论,并提供所有图片的新评论总数:
let ref4 = DatabaseReference.media.reference()
let query4 = ref4.child("\(value)/comments")
query4.observe(.childAdded, with: { snapshot in
let comment = Comment(dictionary: snapshot.value as! [String : Any])
self.myNotif.insert(comment, at: 0)
self.newComment.text = ("\(self.myNotif.count)")
print("new comment noticed")
问题是尽管只向数据库添加了一个子节点,但控制台正在复制结果。例如,将有重复的打印语句。这个问题的主要问题是它也将计数器增加2而不是1。有没有人遇到过这个?
答案 0 :(得分:0)
我在评论类中添加了一个扩展名,以包含符合Equitable协议的内容,然后将完成更改为:
if !self.myNotif.contains(comment) {
self.myNotif.insert(comment, at: 0)
self.newComment.text = ("\(self.myNotif.count)")
print("new comment noticed")
}
似乎解决了差异