我注意到 [NSDate date] 从睡眠中醒来后不久就会返回旧日期和时间。我找不到有关此规范的任何信息,或者如何在醒来后刷新当前日期和时间。
有没有人有关于这种行为的任何信息?
我注意到 [NSDate date] 从睡眠中醒来后不久就会返回旧日期和时间。我找不到有关此规范的任何信息,或者如何在醒来后刷新当前日期和时间。
有没有人有关于这种行为的任何信息?
您是否保存NSDate
在 ivar 中并在应用程序重新启动后检查它?如果是这种情况,那将是旧日期。
您可以重新初始化 ivar on viewWillAppear
,或者在您的AppDelegate
. 或者,您也可以将其设置为nil
退出时。
也许尝试处理applicationSignificantTimeChange:
应用程序委托方法或UIApplicationSignificantTimeChangeNotification
通知。
从applicationSignificantTimeChange:
文档中:
如果您的应用程序当前处于挂起状态,则此消息将排队等待您的应用程序返回到前台,此时它会被传递。如果发生多个时间更改,则仅传送最近的一个。
可能您必须等到此时才能从 NSDate 类中获取准确的数据。您的视图可能加载得太早了。
然而,做这种事情可能会更好viewWillAppear:
,我有一种感觉,如果你这样做,你可以避免处理重大的时间变化事件。