在if语句中继续计数器

时间:2014-12-08 17:43:03

标签: ios if-statement swift counter

我正在使用swift for iOS制作秒表应用。 制作应用程序,以便以秒为单位显示时间,这不是一个问题。现在我想改变它,以便以分钟和秒显示时间,例如1:20为1分20秒。 为实现上述目标,我做了以下工作:

import UIKit
class ViewController: UIViewController {
    var timer = NSTimer()
    var seconds:Int = 0

@IBOutlet weak var timerOutput: UILabel!
@IBAction func startButton(sender: AnyObject) {

    timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
@IBAction func stopButton(sender: AnyObject) {

    timer.invalidate()

}
@IBAction func resetButton(sender: AnyObject) {

    timer.invalidate()
    seconds = 0
    timerOutput.text = "\(seconds)"

}
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    timerOutput.text = "0:\(seconds)"
}
func result() {
    seconds++
    if seconds <= 60 {

        timerOutput.text = "0:\(seconds)"

    } else {
        if seconds > 60 {

            var minutes:Int = seconds/60
            var newSeconds = minutes % seconds
            timerOutput.text = "\(minutes):\(newSeconds)"
        }
    }
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
    }
}

问题是应用程序在第二个if语句之后没有继续使用计数器,在那里我定义了60秒后发生的事情。我已经尝试了很多东西,从使用for和/或while语句到创建一个全新的函数秒数&gt; 60,但似乎没有任何工作。 目前,该应用程序完美地运行到0:60,然后显示1:1,到目前为止一直很好,然后没有做任何事情。它然后每分钟更新并显示2:2,3:3,4:4等等。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

newSeconds数学应该是这样的:

// number of seconds in a minute, not the number of seconds currently
var newSeconds = seconds % 60