Ios 如何使用Firebase为聊天应用正确设置未读消息指示器?

Ios 如何使用Firebase为聊天应用正确设置未读消息指示器?,ios,objective-c,firebase,firebase-realtime-database,jsqmessagesviewcontroller,Ios,Objective C,Firebase,Firebase Realtime Database,Jsqmessagesviewcontroller,我已经使用jsqMessageViewController库和Firebase在我的应用程序中构建了聊天功能。有一个对话的表格视图,其中包括用户名标签和从该用户收到的lastMessage。目前,当对话中有未读消息时,我正在显示一个小点,并将lastMessage标签的字体更改为粗体。我实现了一种指示未读消息的方法,但我知道该方法不正确: 当用户a发送消息时,名为readMessage的对话的直接子项在Firebase中用值NO更新。然后,当用户B选择对话行时,我使用didselectrowat

我已经使用
jsqMessageViewController
库和
Firebase
在我的应用程序中构建了聊天功能。有一个对话的表格视图,其中包括用户名标签和从该用户收到的
lastMessage
。目前,当对话中有未读消息时,我正在显示一个小点,并将
lastMessage
标签的字体更改为粗体。我实现了一种指示未读消息的方法,但我知道该方法不正确:

当用户a发送消息时,名为
readMessage
的对话的直接子项在Firebase中用值
NO
更新。然后,当用户B选择对话行时,我使用
didselectrowatinexpath
readMessage
更新为
YES
。但是,这会导致明显的问题,因为如果用户A发送消息,则两个用户的对话都显示为未读,而不仅仅是用户B

我如何正确地完成这一点,以便接收消息的用户只将新消息显示为未读