当白天更改时重新加载视图的方法

时间:2015-11-25 22:10:40

标签: ios swift nsdate

我正在尝试创建一个在我的SummaryViewController中在后台运行的等待更改日期的方法,然后重新加载它自己的视图。

(顺便说一句,我等待看到更改的日期是昨天...所以基本上当昨天变成今天,我希望视图重新加载。所以self.dateLabel.text!等于昨天的日期。)< / p>

这是viewDidAppear()

中的SummaryViewController
override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    // Background task that checks for when the day changes
    while true {
        sleep(1)
        self.yesterday = NSCalendar.currentCalendar().dateByAddingUnit(.Day, value: -2, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))
        var yesterdayDateString = self.formatDate(self.yesterday!)
        if (self.dateLabel.text! != yesterdayDateString) {
            print("balls")
            self.view.setNeedsDisplay()

        }
    }
}

1 个答案:

答案 0 :(得分:1)

我会使用NSTimer而不是while循环。

 NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "check", userInfo: nil, repeats: true)

然后在检查功能中,将当前日期与包含开始日期的全局变量进行比较,并查看当天是否已更改。