iOS:可以从多个线程/位置调用特定功能,但是我希望每个呼叫在队列中执行



我有一个函数readdata读取来自HealthKit的数据,该数据需要几秒钟才能执行。可以从多个线程/位置调用此函数,但是我希望每个呼叫一次在队列中执行,一个一次,而不是并行。

是否有一种简单的方法可以使用GCD或操作类型在iOS中以Swift实现这一目标?

是的,串行调度值应解决您的问题。确保您在每个功能都需要访问它的范围内创建它。

let serialQueue = DispatchQueue(label: "serialQueue")
serialQueue.async{  //call this whenever you need to add a new work item to your queue
    //call function here
}

相关内容

最新更新