【发布时间】:2015-08-28 07:21:20
【问题描述】:
我知道在 stackoverflow 上有很多类似的问题,但我。我仍然无法停止我的 NSTimer。以下是我的代码:
func setupTimerForRecord(){
dispatch_async(dispatch_get_main_queue(), { () -> Void in
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("timeStick:"), userInfo: nil, repeats: true)
})
}
和函数停止:
func resetTimmerLabel(){
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.timer?.invalidate()
self.timer = nil
self.timeMin = 0
self.timeSec = 0
var timeString = String(format: "%02d:%02d", arguments: [self.timeMin, self.timeSec])
self.lblTimer.text = timeString
})
}
功能选择器:
func timeStick(timer: NSTimer){
print("timeStick")
self.timeSec++
if self.timeSec == 60{
self.timeSec = 0
self.timeMin++
}
var timeString = String(format: "%02d:%02d", arguments: [self.timeMin, self.timeSec])
lblTimer.text = timeString
}
在单击按钮时调用 setupTimerForRecord。和 viewWillDisappear 处的 resetTimmerLabel 但函数 timeStick 仍然运行。请帮帮我
编辑对不起,我犯了愚蠢的错误。问题是我创建了另一个新的计时器 var timer。它必须将 self.timer 放入函数 setupTimerForRecord
【问题讨论】: