假定Swift 2时定时器不停止

时间:2015-11-08 04:55:56

标签: swift nstimer

我已经为我的计时器编码了这个想法,当我的计时器达到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()
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你需要在回调函数中放置条件,而不是在viewDidLoad上,只在加载时调用一次。

func isCounting() {
    timerCount += 0.1
    timer.text = "\(timerCount)"

    if timerCount >= 10.0 {
        timerVar.invalidate()
    }
}