斯威夫特中的@MainActor是什么?



@MainActor只是DispatchQueue.main.async的句法糖,还是还有其他用途吗?

如果我们看一下UILabelUIViewController的声明,我们可以看到它们都用新的@MainActor属性进行了注释:

@MainActor class UILabel: UIView
@MainActor class UIViewController: UIResponder

这意味着,当使用 Swift 的新并发系统时,这些类(及其任何子类)上的所有属性和方法将自动在主队列上设置、调用和访问。所有这些调用将自动路由 系统提供的MainActor,它始终在主线程上执行其所有工作 — 完全消除了我们手动调用DispatchQueue.main.async的需要。

来源:https://www.swiftbysundell.com/articles/the-main-actor-attribute/

相关内容

  • 没有找到相关文章

最新更新