我正在使用XMPPFrameWork
开发聊天应用程序。一切正常
很好,但我被困在获取未读消息的数量。我得穿上tableView
尚未打开的邮件数。我该怎么办?
,知道吗?我试图显示mostRecentMessage
,但没有成功。
任何帮助都将不胜感激。谢谢。
最佳答案
xmpp的“xmppusercoredatastorageobject”中有一个名为“unreadMessages”的属性。传递from“jid”以获取相应的用户对象,并在appdelegate的下面方法中增加“unreadMessages”值,
- (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;
然后在任何VIEW控制器中使用上面的代码来检索未读的消息计数。