我正在使用XMPPFrameWork
开发聊天应用。一切正常
完美但我仍然坚持获取大量未读消息。我要表现出来
tableView
尚未打开的邮件数。我该怎么办?
, 任何的想法?我试图展示mostRecentMessage
,但它没有用。
任何帮助将不胜感激。谢谢。
答案 0 :(得分:0)
有一个名为" unreadMessages"的属性在" XMPPUserCoreDataStorageObject"在XMPP中。通过FROM" 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中使用上面的代码来检索未读的消息计数。