我是第一次使用XMPP iPhone聊天应用程序(使用gitHub中的XMPP框架)。在那我可以发送和接收消息,但我的问题是:
现在我在聊天页面上,我已经使用一种方法从XMPPMessageArchivingCoreDataStorage获取所有存档的消息并将其显示给用户。 当一条新消息到达时,“xmppStream:didReceiveMessage:”方法将被调用,并且我已发布通知。该通知的接收者设置在聊天页面上。因此,当新消息通知到达时,我使用相同的先前方法来获取存档消息,然后将其显示给用户。我这样做是为了向用户显示新消息。 但我的问题是,当消息1到达它没有列出时,消息2到达消息1列表,当消息3到达时消息1和2列出等等。但有时它工作正常。
我的怀疑是:
提前致谢...
答案 0 :(得分:0)
您的意思是收到所有邮件? 如果是这样,您只需将所有消息添加到List中,然后通知Table更新数据。要确保它正常工作,请在代码中添加dispatch_async。
答案 1 :(得分:0)
新消息到达时无需发布通知。为此,我们可以使用NSFetchedResultsController。
我已通过使用NSFetchedResultsController来管理XMPPMessageArchivingCoreDataStorage和tableview来修复此问题。