gpt4 book ai didi

swift - Firebase ChildAdded 观察者正在检索不存在的数据

转载 作者:行者123 更新时间:2023-11-28 07:49:19 24 4
gpt4 key购买 nike

我正在使用一个 child 添加的观察者来检查用户在使用我的应用程序时是否收到新通知...

 func newLikeNotificationObserver() {
notifHandle = Database.database().reference().child("notifications").child(FirebaseDatabase.system.CURRENT_USER_ID).observe(DataEventType.childAdded, with: { (snapshot) in
if !snapshot.exists() {
print("ERROR")
return
}
let id = snapshot.key
print(id)
if let dict = snapshot.value as? Dictionary<String, Any> {
print("ADDED TO LIST")
let notif = Notifications(notifID: id, data: dict)
self.notifications.insert(notif, at: 0)
self.collectionView.reloadData()
}
})
}

我遇到的奇怪问题是,尽管当用户喜欢他/她自己的帖子时没有数据写入我的数据库,但触发了观察者并将通知插入到包含实际用户通知的数组中。当我打印出 notif-ID 以查看是否可以在我的数据库中找到它时,它无处可寻。任何人都可以看到我可能出错了吗?

此外,我正在删除 deinit 方法中的观察者并将其添加到 viewdidload() 中。提前致谢

最佳答案

放置事件观察者的正确位置是在 viewDidAppear 中,在 viewWillDisappear 中移除它们。

我认为很可能是之前的观察者没有被删除并且返回了错误的数据。重新启动计算机并查看它是在应用程序的初始运行时发生,还是仅在后续启动时发生

关于swift - Firebase ChildAdded 观察者正在检索不存在的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50109738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com