我需要在主线程上执行NSProgressIndicator.stopAnimation
之类的操作。但是我想在分配给后台线程的workItem的末尾执行此操作。
NSProgressIndicator.startAnimation(self)
let workItem = DispatchWorkItem {
//
// Some tasks
//
// This doesn't work, how do I call it on main thread?
NSProgressIndicator.stopAnimation(self)
}
DispatchQueue.global(qos: .background).async(execute: workItem)
答案 0 :(得分:3)
使用DispatchQueue.main.async
就像在主队列上运行任何代码一样。
let workItem = DispatchWorkItem {
//
// Some tasks
//
DispatchQueue.main.async {
NSProgressIndicator.stopAnimation(self)
}
}