我如何逐步更新我的进度条?

how can i update my progress bar step by step?

我有代码,我每秒向我的数组添加一个常量,我如何在数组更改时每秒更新我的进度条?

var array: [Int] = []

override func viewWillAppear(_ animated: Bool) {
        upgradeArray()
    }

    func upgradeArray() {
        for i in 0...10 {
            sleep(1)
            array.append(i)
            print(i)
            let percentProgress = Float(Float(self.array.count)*100.0/10.0)
            progressBar.setProgress(percentProgress, animated: true)
        }

    }

使用计时器。假设您的进度视图是 0 到 1 并且每秒递增 0.1...

var timer: Timer?
var array = [String]()

func doStuff() {

    timer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true, block: { timer in

        self.array.append("foo")

        let change: Float = 0.1
        self.progressView.progress = self.progressView.progress + (change)

        if self.progressView.progress >= 1.0 {
            self.timer?.invalidate()
        }
    })
}

完成 DispatchQueue.global(优先级:.default).async

func upgradeArray() {
        for i in 0...10 {
            DispatchQueue.global(priority: .default).async {
                //sleep(1)
                self.array.append(i)
                print(i)
                DispatchQueue.main.async(execute: {
                    let percentProgress = Float(Float(self.array.count)*100.0/10.0)
                    self.progressBar.setProgress(percentProgress, animated: true)
                })
            }
        }

    }