我嘗試了很多方法,我發現在其他問題和任何他們正在工作。我的問題是,計時器沒有要求選擇NSTimer timerWithTimeInterval不調用選擇器(Swift)
class MyViewController: UIViewController{
var progressBarTimer = NSTimer()
@IBOutlet weak var progress_bar: UIProgressView!
override func viewDidLoad() {
self.progress_bar.progress = 0
self.progressBarTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(MyViewController.updateProgress(_:)), userInfo: nil, repeats: true)
//also tried and redefining the updateProgress without timer parameter:
/*
*self.progressBarTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(MyViewController.updateProgress), userInfo: nil, repeats: true)
*/
}
func updateProgress(timer:NSTimer!) {
progress_bar.progress += 0.1
if (progress_bar.progress >= 1) {
progressBarTimer.invalidate()
}
}
}
我試圖做
progressBarTimer.fire()
,它只是一次執行的UpdateProgress功能。
任何人都可以點亮?我真的很感激
我試過你的代碼,它工作正常,它每秒調用updateProgress方法。 – Yuvrajsinh
那麼,爲什麼不爲我工作?可能是我在此之前在其他ViewController中調用了其他NSTimer? – JMDelafuente
您是否嘗試過評論updateProgress方法中的所有代碼並只寫print()語句? – Yuvrajsinh