ios 如何在主线程上运行async await

ktca8awb  于 2023-04-13  发布在  iOS
关注(0)|答案(1)|浏览(150)

请查找代码:

Task{
  let value = await doSomething()
}

我尝试使用DispatchQueue,但如何保证UI更新应该在主线程上完成。

Task{
 DispatchQueue.main.async{
  let value = await doSomething()
 }
}
b4lqfgs4

b4lqfgs41#

您可以使用@MainActor在主线程上运行代码。

Task{ @MainActor in 
 let value = await doSomething()
}

也可以直接将函数标记为在主线程上运行。

@MainActor func myFunc() {
 Task{ 
  let value = await doSomething()
 }
}

相关问题