gpt4 book ai didi

ios - 进度 View 未更新 - Swift

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:04 25 4
gpt4 key购买 nike

我正在使用 Swift 开发 ProgressView

这是我的代码

var request = HTTPTask()
let downloadTask = request.download(urlm!, parameters: nil, progress: {(complete: Double) in
println("percent complete: \(Float(complete))")
self.Progress.setProgress(Float(complete), animated: true)

即使 complete 给出了这个输出

percent complete: 0.00480848
percent complete: 0.0089619
percent complete: 0.0132512
percent complete: 0.0175405
percent complete: 0.0221036
percent complete: 0.0264841
percent complete: 0.0308647
percent complete: 0.0350627
percent complete: 0.0392608
percent complete: 0.0434588
percent complete: 0.0513073
percent complete: 0.0555054
percent complete: 0.0598859
percent complete: 0.0642665
percent complete: 0.0688296
percent complete: 0.0731189
percent complete: 0.0774994
percent complete: 0.0817887
percent complete: 0.0861693
percent complete: 0.0908237
percent complete: 0.095478
percent complete: 0.099676
percent complete: 0.104057
percent complete: 0.109624
percent complete: 0.114278
percent complete: 0.119024
percent complete: 0.123404
percent complete: 0.127602
percent complete: 0.131983
percent complete: 0.136181
percent complete: 0.136408
percent complete: 0.140561
percent complete: 0.144759
percent complete: 0.148957
percent complete: 0.153155
percent complete: 0.157901
percent complete: 0.162282
percent complete: 0.166662
percent complete: 0.171043
percent complete: 0.175241
percent complete: 0.175468
percent complete: 0.179621
percent complete: 0.184002
percent complete: 0.188291
percent complete: 0.192672
percent complete: 0.197052
percent complete: 0.201524
percent complete: 0.205905
percent complete: 0.210285
percent complete: 0.21494
percent complete: 0.215258
...
percent complete: 1.0

这里不更新进度 View

self.Progress.setProgress(Float(complete), animated: true)

最佳答案

针对 Swift 3 进行了更新

UI 的更改应该始终发生在主/前台线程上,在这种情况下,它发生在后台队列上。使用:

DispatchQueue.main.async {
self.Progress.setProgress(Float(complete), animated: true)
}

将其移动到前台。

pre-Swift 3 的旧答案

UI 的更改应该始终发生在主/前台线程上,在这种情况下,它发生在后台队列上。使用:

dispatch_async(dispatch_get_main_queue()) {
self.Progress.setProgress(Float(complete), animated: true)
}

将其移动到前台。

关于ios - 进度 View 未更新 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29090848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com