当我重新启动我的应用程序时调用 viewWillDisappear

问题描述

我已经对这个错误进行了广泛的测试,并将其范围缩小到只有几行代码。无法理解以下情况如何发生以及如何避免它,因此非常感谢任何输入。让我知道是否需要更多信息来诊断。

我的应用中有消息,为了确定用户是否有未读消息,所有发送的消息都包含一个标志,表明接收用户尚未看到它们。用户可以通过两种方式将对话标记为“已读”:

  1. 点按对话
  2. 加入对话然后退出调用 viewWilldisappear)

--- 我已经确认当我重新打开应用程序时调用了 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 (将#修改为@)