V2EX POST
639 subscribers
138 photos
31 videos
99 files
102K links
v2ex新贴定时推送,可按需置顶本频道然后关闭通知
Download Telegram
SwiftUI 的一个技术问题

我有一个需要加载数据的 Task ,想在 View 里显示进度条,但是目前 Task 并不会刷新进度条的值,该怎么做呢?

目前的是
```code
struct ContentView: View {
@ObservedObject var model: Model

var body: some View {
VStack {
ProgressView("Downloading…", value: model.progress, total: 100)
.onAppear {
Task {
await model.fetchData()
}
}
}
}
}



//在 Model.swift 里,代码如下:
@MainActor
class Model: ObservableObject {
@Published var progress: Int = 0

func fetchData() async {
Task {
do {
for idx in 0...100 {
progress += 1
sleep(1)
}
}
}
}
}
```

#Task #View #var #model #Model #progress #进度条 #100 #fetchData #code