天倒数iOS迅速

时间:2015-06-26 14:30:37

标签: ios swift xcode6 nstimer countdown

我的应用程序要求我从首次启动开始倒计时。如果有人第一次启动我的应用程序,我想在午夜12点之后计算第1天(当然使用设备时钟),然后是第2天...并在第21天之后执行操作。如果该人关闭应用程序或关闭手机并不重要。当应用程序恢复时,它应该会自动检测已经过了多少天。

有谁知道如何实现这一点? 。我在想NStimer,但有点混乱。

2 个答案:

答案 0 :(得分:3)

我认为你想使用instrument = "orcl" feed = yahoofinance.build_feed([instrument], 2011, 2014, ".") 。这样,无论您的应用是否处于活动状态,都可以提醒用户。

请查阅文档here,进行试用,并在遇到问题时找到新的堆栈溢出问题,但无法找到答案。

答案 1 :(得分:0)

好的,在摆弄了一段时间并在操场上尝试了几种东西之后,我想出了一个完美无缺的解决方案。因此,如果有人试图找出类似的东西,这是我的解决方案。

    func checkElapsedDay (){

    //make sure the date register only run 1 time.
    if NSUserDefaults.standardUserDefaults().boolForKey("firstLaunch"){

        lauchDate =  NSUserDefaults.standardUserDefaults().objectForKey("start")! as! NSDate
        endDate = NSUserDefaults.standardUserDefaults().objectForKey("end")! as! NSDate
    }
    else{

        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "firstLaunch")
        NSUserDefaults.standardUserDefaults().synchronize()

        endDate = lauchDate.dateByAddingTimeInterval(1814400) // 1814400 = 21 days
        NSUserDefaults.standardUserDefaults().setObject(lauchDate, forKey: "start")
        NSUserDefaults.standardUserDefaults().setObject(endDate, forKey: "end")
    }

    var today = NSDate()
    let compareResult = today.compare(endDate)
    let cal = NSCalendar.currentCalendar()
    let unit:NSCalendarUnit = .CalendarUnitDay
    let components = cal.components(unit, fromDate: today, toDate: endDate, options: nil)
    let biss = cal.compareDate(today, toDate: endDate, toUnitGranularity: nil)
    var bbb = components.day
    daysleft.image = UIImage(named: "\(bbb).png") //change the remaining day stamp

}