我正在使用QuickBlox开发一个聊天应用程序。
有一个API返回聊天对话框,其中包含最后发送的消息和未读消息计数。
我的问题是如何将消息标记为已读。我已经获得了可以工作的代码,例如:
有一个API返回聊天对话框,其中包含最后发送的消息和未读消息计数。
我的问题是如何将消息标记为已读。我已经获得了可以工作的代码,例如:
[QBChat markMessagesAsRead:arrMessages dialogID:dialogId delegate:self]; // arrMessages is the array of message ids
它运行良好,但有时会出现某些消息被跳过的情况,并始终以未读消息出现在QBChatDialog
中。
所以我的问题是,我应该怎么做才能将它的所有消息标记为已读。
或者
我如何获取那些未读的特定跳过的消息。因为它调用api获取消息时只提供最后一个而不是特定跳过的消息。
QBRequest
请求标记消息为已读的方式,像这样:+ (QBRequest *)markMessagesAsRead:(NSSet *)messageIDs dialogID:(NSString *)dialogID successBlock:(void(^)(QBResponse *response))successBlock errorBlock:(QBRequestErrorBlock)errorBlock
。但是,如果我在NSSet
的位置传递nil,则会出现错误。错误信息如下:错误原因:{ code = "<null>"; message = "未找到资源"; }
- Hemang