Я использую добавленного наблюдателя, чтобы проверить, получает ли пользователь новое уведомление при использовании моего приложения ...
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 (). Заранее спасибо