定时器在应该 Swift 时不停止 2

Timer Not Stopping When Supposed To Swift 2

我在编写计时器时考虑到当我的计时器达到 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()
    }
}