我有一个迅速cli的应用程序,其中的一个步 Task
正在使用。 我想告诉进度条的基础上取得的进展的任务。 我使用的 进展。swift 包吧。
我的代码看起来是这样的。
var bar = ProgressBar(count: 100)
let waiter = Task {
do {
for try await output in session.outputs {
switch output {
case .requestProgress(let request, let fractionComplete):
bar.setValue(Int(fractionComplete * 100))
}
}
} catch {
logger.error("Output: ERROR = \(String(describing: error))")
Foundation.exit(0)
}
}
我的问题是现在我得到的以下错误时 bar.setValue()
Mutation of captured var 'bar' in concurrently-executing code
.
我很新swift所以请原谅我。
我理解的错误信息,但是怎么可能我周围的工作,和捕捉所取得的进展更新我的吧?