【发布时间】:2015-05-08 23:45:05
【问题描述】:
我正在使用XMPPFrameWork 开发一个聊天应用程序。一切正常
完美,但我坚持获取未读消息的数量。我必须展示
tableView 尚未打开的消息数。我应该如何进行
, 任何想法?我试图显示mostRecentMessage,但没有成功。
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: objective-c messages xmppframework ios8.1
我正在使用XMPPFrameWork 开发一个聊天应用程序。一切正常
完美,但我坚持获取未读消息的数量。我必须展示
tableView 尚未打开的消息数。我应该如何进行
, 任何想法?我试图显示mostRecentMessage,但没有成功。
任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: objective-c messages xmppframework ios8.1
XMPP 的“XMPPUserCoreDataStorageObject”中有一个名为“unreadMessages”的属性。在 Appdelegate 的下面方法中通过 FROM "jid" 获取相应的用户对象并递增 "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;
然后在任何视图控制器中使用上述代码来检索未读消息计数。
【讨论】: