问题描述
我已经对这个错误进行了广泛的测试,并将其范围缩小到只有几行代码。无法理解以下情况如何发生以及如何避免它,因此非常感谢任何输入。让我知道是否需要更多信息来诊断。
我的应用中有消息,为了确定用户是否有未读消息,所有发送的消息都包含一个标志,表明接收用户尚未看到它们。用户可以通过两种方式将对话标记为“已读”:
--- 我已经确认当我重新打开应用程序时调用了 viewWidlldisappear(下面)中的代码
override func viewWilldisappear(_ animated: Bool) {
if conversation?.lastMessageSender != currUserName && conversation?.receiverViewed == false {
let db = Firestore.firestore()
db.collection("conversations").document(conversationID).updateData(["receiverViewed":true])
}
}
作为参考,我的数据库是 Firebase。
复制步骤:
- 接收消息
- 转到对话并查看消息
- 在 messageDetail 视图控制器上关闭应用
- 收到另一条消息
- 打开应用
预期: 应用程序打开主屏幕,指示有未读消息。导航到 messagesViewController 显示未读对话
实际: 应用程序打开到主屏幕,没有未读消息的指示。导航到 messagesViewController 显示对话已被阅读
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)