我在编写计时器代码时想到的是,当计时器达到10时,计时器将停止计时。但是出于某种原因,事实并非如此。
import Foundation
import UIKit
class SinglePlayer: UIViewController {
var timerCount = 0.0
@IBOutlet weak var timer: UILabel!
var timerVar = NSTimer()
func isCounting() {
timerCount += 0.1
timer.text = "\(timerCount)"
}
override func viewDidLoad() {
super.viewDidLoad()
if timerCount <= 10.0{
timerVar = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "isCounting", userInfo: nil, repeats:true)
} else {
timerVar.invalidate()
}
}
}
最佳答案
您需要将条件放在回调函数中,而不要放在viewDidLoad
上,后者仅在加载时被调用一次。
func isCounting() {
timerCount += 0.1
timer.text = "\(timerCount)"
if timerCount >= 10.0 {
timerVar.invalidate()
}
}
关于swift - 设置为Swift 2时计时器不会停止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33590886/