【发布时间】:2015-06-26 22:43:29
【问题描述】:
我如何停止我的计时器停止运行?不像是停顿,而是停顿。
import UIKit
class LastManStandingViewController: UIViewController {
@IBOutlet weak var timeLabel: UILabel!
@IBOutlet weak var timeTextbox: UITextField!
@IBOutlet weak var startButton: UIButton!
@IBOutlet weak var stopButton: UIButton!
var myCounter = 0
var myTimer : NSTimer = NSTimer()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
timeLabel.text = String(myCounter)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func startTimer(){
myTimer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("updateTimer"), userInfo: nil, repeats: true)
println("func startTimer")
}
func stopTimer(){
myTimer.invalidate()
myCounter = 0
timeLabel.text = String(myCounter)
println("func stopTimer")
}
func updateTimer(){
timeLabel.text = String(myCounter++)
println("func updateTimer")
}
@IBAction func startButton(sender: AnyObject) {
startTimer()
}
@IBAction func stopButton(sender: AnyObject) {
stopTimer()
}
}
我可以启动计时器,但是当我按下停止按钮时,它会自行重置并重新开始计时。它不会停止。
让它工作。我的项目出了点问题!通过删除按钮并重新添加它们来修复它。看起来我有重复的东西。
【问题讨论】:
-
请贴出你的代码(如果只是截图我们无法测试)。
-
@ericd 现已添加完整代码。
-
我已经在示例应用程序中复制粘贴了您的代码的重要部分,我没有发现任何问题,计时器可以正确启动和停止。你确定你没有做其他事情吗? screenshot of my test
-
您的代码对我来说运行良好。
-
@ericd 好的,所以我删除了开始和停止按钮并再次添加它们,现在一切正常。奇怪!