Firebase观察者代码在离开视图后运行两次

时间:2016-11-20 00:12:18

标签: ios swift firebase firebase-realtime-database

我有以下观察员:

currentUserRef.child("invitedToPosts").queryOrdered(byChild: "timestamp").queryStarting(atValue: cutoff).observe(.childAdded) { (snapshot: FIRDataSnapshot) in

let postKey = snapshot.key
postsReference.child(postKey).observeSingleEvent(of: .value, with: { (snapshot: FIRDataSnapshot) in
      if let dict = snapshot.value as? Dictionary<String,Any>{
             //creating posts

      }
}

我在这个代码工作一周前的情况下现在不行,而且我不知道从哪里开始调试它。

我在viewDidAppear中找到了那个观察者。当此代码在启动时运行时,我的视图中会正确创建帖子。但是,当我离开视图并返回代码时,我创建的帖子会运行两次。

我已尝试删除引用上的AllObservers,但我觉得这不是问题,因为代码之前没有这样做,我也没有删除观察者。

当我完全清除我的firebase数据库并发一个帖子时,帖子的数据只发布一次,但是当我从firebase读取它时,它正在运行代码相同的UID两次。

之前有任何问题吗?

0 个答案:

没有答案