我正在尝试创建一个在我的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()
}
}
}
答案 0 :(得分:1)
我会使用NSTimer而不是while循环。
NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "check", userInfo: nil, repeats: true)
然后在检查功能中,将当前日期与包含开始日期的全局变量进行比较,并查看当天是否已更改。