我是 Swift 的新手并构建了一个小型应用程序,它将一些 HealthKit 数据传输到自构建的网络服务。我在 Main.storyboard 中放置了一个 UIProgressView 并将其连接到 ViewController.swift:
@IBOutlet weak var syncHealthProgress: UIProgressView!
在一个动作中,通过 ViewController 之外的多个步骤对 Web 服务进行了 6 次调用。首先,我获取在后台完成的健康数据(HKStatisticsCollectionQuery)。在后台任务中,我获取结果并使用异步完成的数据 (URLSession) 进行 API 调用。
我想做的事:每次 API 调用成功时,我都想将进度提高 1/6。
那么对此的最佳做法是什么?无法从主线程外部访问 UI(尝试将 syncHealthProgress 作为参数传输到看起来很脏且不起作用的 API 调用)。
有什么提示吗?