XMPP最后收到/发送的消息未归档

时间:2015-02-13 08:50:02

标签: ios iphone xmpp

我是第一次使用XMPP iPhone聊天应用程序(使用gitHub中的XMPP框架)。在那我可以发送和接收消息,但我的问题是:

现在我在聊天页面上,我已经使用一种方法从XMPPMessageArchivingCoreDataStorage获取所有存档的消息并将其显示给用户。 当一条新消息到达时,“xmppStream:didReceiveMessage:”方法将被调用,并且我已发布通知。该通知的接收者设置在聊天页面上。因此,当新消息通知到达时,我使用相同的先前方法来获取存档消息,然后将其显示给用户。我这样做是为了向用户显示新消息。 但我的问题是,当消息1到达它没有列出时,消息2到达消息1列表,当消息3到达时消息1和2列出等等。但有时它工作正常。

我的怀疑是:

  1. 这是显示新消息的正确方法吗?
  2. 如果是,为什么最后一条消息有时没有存档?
  3. 提前致谢...

2 个答案:

答案 0 :(得分:0)

您的意思是收到所有邮件? 如果是这样,您只需将所有消息添加到List中,然后通知Table更新数据。要确保它正常工作,请在代码中添加dispatch_async。

答案 1 :(得分:0)

新消息到达时无需发布通知。为此,我们可以使用NSFetchedResultsController。

我已通过使用NSFetchedResultsController来管理XMPPMessageArchivingCoreDataStorage和tableview来修复此问题。

See more about NSFetchedResultsController