我正在用PubNub iOS SDK开发一个应用程序,它工作得很好,但是历史API有一个恼人的问题。
我必须在多个视图控制器中列出消息历史记录,这很好,但是每次打开一个新视图时,我都要等待2-3秒的消息。有什么共同的做法来避免这种情况吗?
我在每个视图控制器中使用requestHistoryForChannel:with块,viewDidLoad。我知道这是个问题,因为每次我打开一个新视图时,客户机都需要重新连接并检索历史记录,但是我找不到更好的解决方案。我必须在每个视图中下载同一个频道的历史,所以内容总是一样的,所以我认为当我启动应用程序并在整个应用程序中使用这些数据时,获取消息是绝对可能的,而且不需要等待,但我不知道该如何做。
发布于 2014-06-23 10:49:46
实际上,这不是PubNub SDK的问题。我可以建议您创建数据模型,它将为您管理缓存,并且只有在需要时才会提取历史记录,或者您认为应该提取它。
至于重新连接: PubNub SDK一直保持很少的TCP连接,并且直到应用程序挂起或断开连接请求时才会删除它们。事实上,花了2秒的时间就意味着有大量的数据,连接缓慢,或者两者兼而有之。您还可以使用limit参数限制要接收的消息数量,也可以使用startDate和endDate参数对消息进行切片(有许多与历史API相关的指定方法)。
https://stackoverflow.com/questions/24363246
复制相似问题