iOS:添加连续侦听器以观察服务器上的任何更改

时间:2015-05-21 21:02:31

标签: ios nsnotificationcenter key-value-observing

这可能是非常基本的问题,但我花了足够的时间来探索可能的解决方案。在我的项目中,我通过服务请求成功获取状态信息。我想为服务器上的任何状态更改添加一个连续的观察者。我不确定服务器是否设置为推送静默通知。看来KVC / KVO或Notifications只是观察者对象的变化。只有当服务器上的状态发生变化时,我才能优雅地解决此问题以刷新我的视图?

2 个答案:

答案 0 :(得分:2)

您可以持续轮询服务器,或者在我看来,更好的解决方案是使用WebSockets。 iOS和服务器端都有各种各样的库。

答案 1 :(得分:2)

我接近这样的开发任务:

  • 使用performSelectorInBackground:withObject:方法创建并发线程。
  • 使用NSURLConnection对服务器执行HTTP GET操作(同步),允许线程阻止,直到回复到达。
  • 当响应可用于检查时,使用NSEvent对象通知主线程。
  • 根据需要重复上述步骤。

对于不太频繁发生的状态更改,我会使用Apple推送通知服务将状态更改信息发送到我的应用程序,而无需进行连续轮询。