当我将应用程序置于后台模式时,我在NSUserDefaults
中保存了一个值,然后当应用再次变为活动状态时,值就不同了。
我保存了值:
- (void)appDidEnterBackground:(NSNotification *)notification {
//Tiempo inicial de inactividad
NSUserDefaults *dispositivo = [NSUserDefaults standardUserDefaults];
NSTimeInterval timestamp = ([[NSDate date] timeIntervalSince1970] * 1000);
[dispositivo setFloat:timestamp forKey:@"StartBackground"];
NSLog(@"Start background: %f", timestamp);
[[NSUserDefaults standardUserDefaults] synchronize];
}
记录:开始背景:1418731653366.276123
我想要恢复价值:
- (void)appDidBecomeActive:(NSNotification *)notification {
NSUserDefaults *dispositivo = [NSUserDefaults standardUserDefaults];
NSTimeInterval startDate = [dispositivo floatForKey:@"StartBackground"];
NSLog(@"Start date: %f", startDate);
}
日志:开始日期:1418731716608.000000
这是我使用此值的唯一地方。 谢谢你提前。
答案 0 :(得分:2)
NSTimeInterval正在双击它,你会得到
typedef double NSTimeInterval;
所以你应该将值保存在double而不是float
中[dispositivo setDouble:timestamp forKey:@"StartBackground"];
并获取数据
NSTimeInterval startDate = [dispositivo doubleForKey:@"StartBackground"];
最好保存NSDate
对象:)
答案 1 :(得分:0)
没有任何问题,因为您正在使用[NSDate日期] ...它将更新当前时间......