2016-05-02 2 views
0

Я использую Quick blox, и я скачал пример приложения (https://github.com/QuickBlox/quickblox-ios-sdk/tree/master/sample-chat), который использует QMChatViewController, QMServices.Как обновить статус сообщения в ChatList, используя образец Quick blox?

Я использую MessageStatusStringBuilder методы класса в ChatViewController получить статус (чтение/доставлено/отправляемые) сообщения (здесь это сообщение не является строкой это экземпляр QBChatMessage) в ChatViewController так, что я показываю сообщение когда когда-либо вызывались QMChatServiceDelegate звонки.

У меня есть требование показать статус (чтение/доставку/отправку) последнего сообщения в DialogsViewController под каждым диалогом. Но в DialogsViewController lastTextMessage это строка, но не экземпляр QBChatMessage.

Как обновить это сообщение?

Один плюс - я получаю обратные вызовы от этого QMChatServiceDelegate в DialogsViewController также, даже я не могу найти статус сообщения от этого.

Как с этим справиться?

ответ

0

Прежде всего, вы должны получить сообщение с расширенным запросом, используя date_send в качестве ключа и lastMessageDate в качестве значения. Затем, используя экземпляр класса MessageStatusStringBuilder, вы можете получить статус последнего сообщения.

QBChatDialog *dialog = ... // your dialog 

QBResponsePage *resPage = [QBResponsePage responsePageWithLimit:1 skip:0]; 

NSMutableDictionary *extendedRequest = @{@"date_sent" : [NSString stringWithFormat:@"%tu", (NSUInteger)[dialog.lastMessageDate timeIntervalSince1970]]}.mutableCopy; 

[QBRequest messagesWithDialogID:dialog.ID extendedRequest:extendedRequest forPage:resPage successBlock:^(QBResponse *response, NSArray *messages, QBResponsePage *responcePage) { 

           NSLog(@"status = %@",[self.stringBuilder statusFromMessage:[messages firstObject]]); 

    } errorBlock:^(QBResponse *response) { 

           NSLog(@"error: %@", response.error); 

    }]; 
+0

Благодарю вас, сэр. Это сработало для меня. Супер решение. Мне очень понравилось, как реализован быстрый blox, но я должен многое знать в этом. Я реализую одно большое приложение, используя этот быстрый blox. Итак, если у меня есть какие-то сомнения, вы можете оказать мне поддержку? –

+0

Сэр У меня есть требование, я хочу загрузить изображение профиля для каждого пользователя быстрого пользователя blox, и оттуда он должен быть показан другому пользователю, который хочет создать диалог чата с первым пользователем. Я видел пример примера контента. Но здесь мой сценарий отличается. Не могли бы вы мне помочь. –

+0

В примерах они загружают файл с типом контента или обновляют существующий файл. Но как это может быть доступно другим пользователям для показа изображения. и даже если мы предоставляем общественности «да». Как другой пользователь может видеть фактические пользователи pic. И как текущий пользователь должен загрузить изображение и где? так много путаницы сэр, пожалуйста, помогите мне –