2016-08-18 59 views
0

我已经在我的IOS应用程序中实现了聊天,它的连接和聊天成功,我也得到了一个用户一对一聊天的所有聊天记录,现在我想实现聊天记录屏幕,其中只有聊天会话将显示为一个用户与他人如果作出。如何在IOS中使用smack与openfire获取每个聊天会话的最后一条消息?

  1. openfire是否有任何方式发送该列表?
  2. 有没有什么方法可以得到每一次谈话的最后一条信息?

我试图找到一个妥善的解决办法,但没有运气,然后尝试以下方法,

  1. 我尝试了一些方法,但一会发送所有聊天消息,我需要处理我自己的那个名单在应用程序中,然后使用,但这是数据的大量损失。
  2. 另一种方式是击中每个用户获得完整的聊天记录,获得其最后的消息并显示,但这也没有那么有效。
  3. 还有一种方法可以做到这一点,它使数组不断更新他的属性作为用户ID,时间和最后的消息。一旦用户更新聊天,然后使用它填充所有聊天记录屏幕,它将保持更新。

任何人都可以请建议,如果有更好的方法来实现这一点?

在此先感谢。

+0

上述要求是自定义的,Openfire不支持。所以你在客户端留下了一些逻辑。 –

回答

0

您需要在Core Data上保存每个用户的聊天记录,然后显示来自Core Data的每个用户的Last message。 如果您正在使用“Robbiehanson”(https://github.com/robbiehanson/XMPPFramework)框架,那么它已经在执行此操作。

+0

请问您如何使用XEP-0313与特定用户提取聊天记录 –

相关问题