Количество непрочитанных сообщений от xmpp ios

Я разрабатываю приложение чата, используя XMPPFrameWork, Все работает отлично, но я застрял в получении количества непрочитанных сообщений. Я должен показать на tableView количество сообщений, которые еще не открыты. Как мне поступить, любая идея? Я пытался показать mostRecentMessage но это не сработало. Любая помощь будет оценена. Спасибо.

1 ответ

В XMPP есть атрибут с именем "unreadMessages" в "XMPPUserCoreDataStorageObject". Передайте ОТ "jid", чтобы получить соответствующий объект пользователя, и увеличьте значение "unreadMessages" в методе ниже в Appdelegate,

 - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message  

и обновите его в том же БД еще раз.

XMPPUserCoreDataStorageObject *user = [self.xmppRosterStorage userForJID:[XMPPJID jidWithString:[NSString stringWithFormat:@"%@", [[[message fromStr] componentsSeparatedByString:@"/"]objectAtIndex:0] ]]
                                                                          xmppStream:self.xmppStream
                                                                managedObjectContext:[self managedObjectContext_roster]];

    NSNumber *number = user.unreadMessages;

    int value = [number intValue];

    number = [NSNumber numberWithInt:value + 1];

    user.unreadMessages = number;

Затем используйте приведенный выше код в любом viewcontroller, чтобы получить количество непрочитанных сообщений.

Другие вопросы по тегам