繁体   English   中英

倒数计时器快速

[英]Countdown timer swift

我在应用程序中开发了一个倒数计时器,但是我不知道为什么它不起作用。

let formatter = NSDateFormatter()
let userCalendar = NSCalendar.currentCalendar()
let requestedComponent: NSCalendarUnit = [
//NSCalendarUnit.Month,
//NSCalendarUnit.Day,
NSCalendarUnit.Hour,
NSCalendarUnit.Minute,
NSCalendarUnit.Second

]

  func printTime()
{
   formatter.dateFormat = "MM/dd/yy hh:mm:ss a"
    //let startTime = NSDate()
    let startTime = formatter.dateFromString("05/12/16 0:00:00 a")
    let endTime = formatter.dateFromString("12/25/16 8:00:00 a")
    let timeDifference = userCalendar.components(requestedComponent, fromDate: startTime!, toDate: endTime!, options: [])
    TimeLabel.text = " \(timeDifference.hour)Hours \(timeDifference.minute)Minutes \(timeDifference.second) Seconds"
}


    let timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(printTime), userInfo: nil, repeats: true)
    timer.fire()

如果我离开:

let startTime = NSDate()

和评论

let startTime = formatter.dateFromString("05/12/16 0:00:00 a")

它可以完美运行,但是从当前时间和日期开始。 我需要一个特定的日期和时间,例如我的时间是“ 05/12/16 0:00:00 a”,时间应该从该日期和时间开始倒计时,而不是从现在开始。

什么都没发生的原因是因为您总是比较两个相同的日期: startTimeendTime 这两个日期之间的差异将始终完全相同。 如果您希望逐步倒数,则需要相应地更改一个或另一个。 NSDate()版本起作用的原因是因为startTime更改为当前日期。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM