【问题标题】:Long Polling across multiple views iOS跨多个视图的长轮询 iOS
【发布时间】:2013-10-22 07:44:29
【问题描述】:

我正在制作一个 iOS 应用程序。这个应用程序也将有一个集成的聊天,我们的聊天服务器使用长轮询。该应用程序有多个视图,例如:

Login View -> Main Menu View -> etc. etc.

现在我的问题是我希望长轮询在所有视图控制器上继续进行,以便应用程序本身不断连接到长轮询服务器,并且在收到响应时,根据响应数据处理当前视图,以便可以根据当前视图采取适当的操作。

  1. 所以,我有一个非常糟糕的想法来解决这个问题:在每次视图更改后开始长轮询。

请帮帮我。如果您需要更多信息,请回复。谢谢!

【问题讨论】:

  • 你听说过单例概念吗?或目标 c 中的单例类

标签: iphone ios objective-c ios6 ios7


【解决方案1】:

利用单例类
1. 创建单例类
2. 在 Appdelegate AppDidbecomeActive 函数中开始你的长轮询会话 然后您可以在每个课程中使用它,并且也可以重置它而不会额外头痛。
3. 如果您想根据您的要求关闭它,请在 Appdelegate AppDidEnterintoBackground 中关闭您的长轮询。
4.在appwillterminate中关闭它。
希望对您有所帮助。

【讨论】:

  • 嘘!!为什么我以前没有想到它!...非常感谢。我从来没有在 obj-c 中编写过单例类,你有什么好的教程吗?是时候打谷歌了。谢谢
  • 好的,所以我阅读了 iOS 中的单例类,所以我正在考虑通过通知中心发送通知并在每个视图控制器中注册一个观察者,当响应到达单例类时。我走对了方向吗??再次感谢!
  • 如果您在每个视图控制器中注册观察者,只需注意您的发布通知,并确保您不会错过它,并且您非常清楚您的要求是什么,如果您的应用程序是不受缺少发布通知的影响,那么您无需采取额外的预防措施。
猜你喜欢
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-08
  • 1970-01-01
  • 2011-04-20
  • 2011-09-30
  • 2019-05-28
相关资源
最近更新 更多