Firebase .childAdded在Xcode中生成重复输出

时间:2017-07-16 15:38:34

标签: ios swift firebase firebase-realtime-database

我有以下代码来观察图片的新评论,并提供所有图片的新评论总数:

    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。有没有人遇到过这个?

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")
            }

似乎解决了差异