Ios Swift 3:UIProgressView没有';更新进度

Ios Swift 3:UIProgressView没有';更新进度,ios,swift3,Ios,Swift3,我写了下面的代码来更新progressView,但它只在完成循环并显示100%完成时在屏幕上反映。有什么问题吗 @IBOutlet weak var progressView: UIProgressView! var totalCount = 100 var count = 0 for (_ in 0...100) { DispatchQueue.main.async(execute: { () -> Void in self.progressView.progr

我写了下面的代码来更新progressView,但它只在完成循环并显示100%完成时在屏幕上反映。有什么问题吗

@IBOutlet weak var progressView: UIProgressView!

var totalCount = 100
var count = 0

for (_ in 0...100) {
    DispatchQueue.main.async(execute: { () -> Void in
       self.progressView.progress = Float(count) / Float(totalCount)
    })

    print("%: \(Float(count) / Float(totalCount))")

    count += 1
}

您的代码没有执行任何操作,因此它几乎可以在短时间内执行

如果您将progressView更新有效地设置为100%,并且没有延迟,您将看不到它。

请检查:

class ViewController: UIViewController {
    @IBOutlet weak var progressView: UIProgressView!
    var progressBarTimer:Timer!
    var totalCount = 100
    var count = 0

    override func viewDidLoad() {
        super.viewDidLoad()
        self.progressBarTimer = Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.updateProgressBar), userInfo: nil, repeats: true)
    }

    func updateProgressBar(){
        let progress = Float(count) / Float(totalCount)
        self.progressView.progress = progress
        print("%: \(progress)")
        if progress == 1.0 {
            progressBarTimer.invalidate()
        }
        count += 1
    }
}