我在我的项目中创建了一个名为的枚举Task。现在我想使用 Swift Task( https://developer.apple.com/documentation/swift/task )。
当我想使用 Swift 时,Task我写道:
Swift.Task { ... }但出现错误:Module 'Swift' has no member named 'Task'
Ita*_*ber 11
为了支持Swift 并发功能向后部署到较旧的操作系统,Swift 将并发 API 构建到一个单独的库中,该库可以与 Swift 标准库分开发布。该swift_Concurrency库作为一个名为 的隐式模块公开_Concurrency,该模块是从 Swift 标准库重新导出的。
然而,Swift 并发类和类型仍然属于这个仅实现的库,因此为了消除歧义,您需要编写_Concurrency.Task而不是Swift.Task.
您也可以在 Xcode 中看到这一点:如果您在新项目中引用Task,然后 ^-\xe2\x8c\x98 - 单击该符号跳转到其定义,您将在库界面中找到它_Concurrency:
不要为了消除歧义而明确地写出来_Concurrency.Task,而是考虑以下几点:
typealias为该类型创建一个(例如 )typealias SwiftTask = _Concurrency.TaskTaskasync/await是Task主要的新语言/stdlib 功能,将在很长一段时间内产生影响,因此,如果 stdlib 将来要保留该词,那么选择一个不太通用的词可能是有意义的| 归档时间: |
|
| 查看次数: |
1070 次 |
| 最近记录: |