我想使用dateWithTimeIntervalSinceNow:检查应用程序上次使用的时间长度,或者我可以每隔4小时左右向我的数据库发送请求的内容,但不确定应该如何使用dateWithTimeIntervalSinceNow?< / p>
使用它的原因是为了检查用户数据版本是否每4/8小时是最新的或者沿着这些行的某些东西..可能在用户访问应用程序时检查是否可能...这将允许我执行任何可能需要执行的方法,以使用户数据更新等。
答案 0 :(得分:0)
首次启动应用程序时,以及之后每次执行数据库刷新时,都会存储该数据库刷新时间(例如,在NSUserDefaults中)。
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"LastDatabaseRefreshTime"];
然后,只要应用程序变为活动状态,请检查自上次数据库刷新时间后是否超过4小时。所以在你的
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSDate *dbRefreshDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"LastDatabaseRefreshTime"];
dbRefreshDatePlus4hrs = [NSDate dateWithTimeInterval:(4*60*60) sinceDate:dbRefreshDate];
NSDate *nowTime = [NSDate date];
if ([dbRefreshDatePlus4hrs compare:nowTime] == NSOrderedAscending) {
// Its more than 4 hours since the last refresh so
// add code to call for another database refresh here
}
}