实现一个长时间运行的后台线程,在Swift中与多个控制器交互



我正在创建一个应用程序,它需要对AWS简单队列服务进行持续的长轮询。当收到消息时,我需要根据活动控制器触发某些操作。

根据我的研究,通知模式似乎应该工作得很好(尽管我愿意接受建议)。我可以使用GCD在后台获得线程。我有两个主要问题

  1. 我应该把这段代码(它不能在控制器,AppDelegate似乎不合适)?

  2. 我应该如何处理应用程序事件(如后台等),并允许他们在这个线程上行动(暂停或恢复轮询)?

为什么不创建一个具有GCD的单例ApiController,它负责所有的api调用并通知你的视图控制器,这个单例类可以从任何视图控制器调用,一旦你启用了后台运行,它应该有在后台运行的权限

最新更新