如何在 Swift 中创建用户定义的倒数计时器?

How to create a user defined countdown timer in Swift?

如何在 Swift 中创建用户定义的倒数计时器?

我的应用程序中有 2 个页面。在第一页上,我要求用户在 UITextField 中写入一个值作为小时(例如:3),然后使用 segue.identifier,我将此信息传递到第二页,我想从 3 小时开始倒计时 02:59:59 格式化并打印在 UILabel 中。谢谢

我用 NSTimer 的倒计时示例为您制作了一个游乐场。

import UIKit

class MyClass {

  var timerCounter:NSTimeInterval!

  func stringFromTimeInterval(interval: NSTimeInterval) -> String {
    let interval = Int(interval)
    let seconds = interval % 60
    let minutes = (interval / 60) % 60
    let hours = (interval / 3600)
    return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
  }

  func startTimer(hour:Int) {
    timerCounter = NSTimeInterval(hour * 60 * 60)
    NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "onTimer:", userInfo: nil, repeats: true)
  }

  @objc func onTimer(timer:NSTimer!) {
    // Here is the string containing the timer
    // Update your label here
    println(stringFromTimeInterval(timerCounter))
    timerCounter!--
  }
}

var anInstance = MyClass()

// Start timer with 3 hours
anInstance.startTimer(3)
CFRunLoopRun()