使用restkit进行聊天iphone应用的最佳方法

时间:2012-03-24 22:55:40

标签: iphone chat restkit

我正在使用restkit和推送通知,我也构建了界面,所以这里是我的问题我想知道你对如何使用restkit构建聊天应用程序结构的意见。

  • 我应该每隔5分钟更新收到的消息吗? OR
  • 我收到推送通知时应该更新吗?要么 AND
  • 我应该使用restkit队列来执行此操作吗?
  • 我应该使用restkit核心数据吗?

所以,我想我的问题是询问服务器新消息的最佳方式..所以你的建议是什么? mmmm ......有没有任何例子或框架?

感谢!!!

1 个答案:

答案 0 :(得分:1)

如果您正在构建任何类型的聊天应用程序,您的用户将希望立即收到他们的消息。我将假设您的服务器在收到消息后立即发送推送通知。发生以下事件时,您应该轮询服务器以获取新消息:

  1. 用户启动该应用。
  2. 暂停到后台后,应用程序会恢复。
  3. 用户启动应用以响应推送通知。 (可能与1的代码相同)。
  4. 应用程序在处于活动状态时会收到推送通知。
  5. 如果您的服务器在事件发生时可靠地发送推送通知,则您不需要手动轮询。

    您不需要直接与RestKit请求队列进行交互,因为这样做很简单。 RKClient可以安全地为您管理它。

    请记住,用户希望该应用能够很好地处理网络可达性问题。请求队列将为您执行可访问性测试并适当地排队请求,直到网络可用,但您可能需要侦听通知并提供适当的响应。为此,您应该注册RestKit框架发布的RKReachabilityStateChangedNotification NSNotificationCenter通知。您可能还需要在本地保存未发送的消息,稍后再重试,尤其是在应用程序暂停/终止时。

    请记住,您可以使用某种唯一标识符来告诉服务器您最近获得的消息。然后,服务器应该向您发送一个包含该点之后的每条消息的数组。

    最后,Core Data是一种存储数据的好方法,这些数据必须在启动之间保持不变。使用RestKit(以及固有的核心数据),您可以方便地将数据作为对象集合使用,并且可以对这些数据执行强大的查询。