swift - 在 Swift 中实现与多个 Controller 交互的长时间运行的后台线程

标签 swift

我正在创建一个需要对 AWS Simple Queuing Service 进行持续长轮询的应用程序。收到消息后,我需要根据事件 Controller 触发某些操作。

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

  1. 我应该把这段代码放在哪里(它不能放在 Controller 中,而且 AppDelegate 似乎不合适)?

  2. 我应该如何处理应用程序事件(例如后台运行等)并允许它们在此线程上执行操作(暂停或恢复轮询)?

最佳答案

为什么不创建一个具有 GCD 的单例 ApiController 并执行所有 api 调用并通知您的 View Controller ,这个单例类可以从任何 View Controller 调用,一旦您启用在后台运行,它应该具有运行权限在后台。

关于swift - 在 Swift 中实现与多个 Controller 交互的长时间运行的后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383891/

相关文章:

ios - 具有多个 NSDateFormatter 的 Swift 代码 - 优化

swift - Tableviewcontroller 不显示单元格

ios - 如何在 iOS 中以编程方式在日历中添加事件的超链接而不显示实际 URL?

ios - 当我重新加载部分时,没有动画的 Tableview 仍然会抖动

swift - 获取核心数据中的对象id

swift 3.0 : Convert server UTC time to local time and vice-versa

iOS Swift 相对字体大小

swift - 在快速枚举中,何时使用原始值以及何时使用关联值

ios - 从 iOS Swift 中的 xml 文本文件中提取 Json

ios - 在自定义 Sirikit 中访问用户当前位置打算,iOS,swift