我一直在制作秒表。
启动,停止和暂停动作效果很好。
然而,当我点击开始动作双倍时间
time = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
此操作再次开始,时间更快!
我如何阻止此行动?
提前致谢!!!
答案 0 :(得分:3)
您需要在班级顶部声明一个变量:
var timer = NSTimer()
然后在开始按钮中分配此计时器变量,如下所示:
@IBAction func startTimerButtonTapped(sender: UIButton) {
time = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
无论何时想要停止此计时器,都需要使其无效,如下所示:
timer.invalidate()
如果您想再次点击开始按钮,则需要先将其无效,然后再安排它:
@IBAction func startTimerButtonTapped(sender: UIButton) {
timer.invalidate()
time = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
希望这会对你有所帮助。
答案 1 :(得分:0)
我找到了一个简单的答案!!!
然而,上面的答案比我找到的答案简单。
我发现的是
我只需要声明一个变量让我们说
var isStop = true
然后
Timer.scheduledTimerWithTimeInterval()
运行我需要把
isStop = false
以及每次暂停和停止动作 我需要把
isStop = true
感谢大家提醒我思考不同!!