【发布时间】:2021-09-29 13:56:51
【问题描述】:
我目前正在尝试在消息传递应用程序中实现阅读功能,到目前为止一切似乎都进展顺利...
当用户打开他未读的聊天时,数据库中的值会发生变化,但是当他返回导航视图时,仍然显示该消息未读。这种情况一直持续到应用重新启动,然后数据似乎已同步。
更新数据库的代码:
func markRead(messageKey : String){
let read = "true"
let ref = self.ref.child("messages").child(messageKey)
ref.updateChildValues(["read":read])
}
聊天是通过 NavigationView 导航的,也许有某种技巧可以在点击后退按钮后刷新视图?我试过用这个:
self.session.objectWillChange.send()
但是用户仍然需要在底部导航中选择一个不同的选项卡,然后返回,仍然不会更新应用程序中的读取状态...
有什么建议或解决方案吗?提前致谢!
【问题讨论】:
-
您没有显示任何与您的视图相关的代码。显示
ObservableObject和存储它的视图——否则,这是不可能调试的。