Swift 如何在每天开始时重置变量?
我有一个变量,用于跟踪我希望在每天开始时重置的用户统计信息。我该怎么做? 由于应用程序不允许在后台运行,因此每次应用程序处于活动状态时,我似乎都必须进行检查,但我不知道如何重置只有一次的变量。这是我想要使用的函数:Swift 如何在每天开始时重置变量?,swift,nsdate,nscalendar,Swift,Nsdate,Nscalendar,我有一个变量,用于跟踪我希望在每天开始时重置的用户统计信息。我该怎么做? 由于应用程序不允许在后台运行,因此每次应用程序处于活动状态时,我似乎都必须进行检查,但我不知道如何重置只有一次的变量。这是我想要使用的函数: let beginingOfDay = NSCalendar.currentCalendar().startOfDayForDate(NSDate()) func resetCurrentTime(){ // Date comparision to comp
let beginingOfDay = NSCalendar.currentCalendar().startOfDayForDate(NSDate())
func resetCurrentTime(){
// Date comparision to compare current date and begining of the day.
let dateComparisionResult:NSComparisonResult = NSDate().compare(beginingOfDay)
if dateComparisionResult == NSComparisonResult.OrderedDescending || dateComparisionResult == NSComparisonResult.OrderedSame {
// Current date is greater or equal to end date.
currentTime = 0 //reset the time tracker
}
}
我想使用这个功能来检查应用程序何时启动,但问题是应用程序一天可以启动很多次。如果用户正在使用应用程序,或者当应用程序处于活动状态或当天首次启动时,如何在一天开始时仅重置一次变量?
谢谢您可以将此值存储在用户默认值中 因此,流程如下所示:
ui应用程序重要时间更改通知
我不知道通知存在。系统何时过账?来自文档:在时间发生重大变化时过账,例如,更改到新的一天(午夜)、承运人时间更新、更改到夏令时或从夏令时开始。承运人更新意味着什么以及将如何影响我的时间?是否有一个更严格的通知,仅在午夜发出的绝对值?如果通知的原因不是午夜更改,这并不重要。在任何情况下,您都将运行代码,如果日期相同,它将不会更新用户默认值中的值。您好,您介意为此过程提供一个代码示例吗?