1
我正在为正在编写的应用程序编写缓存系统。它在核心数据中存储了一个密钥(NSString)和最后请求的时间戳(NSDate),并且无法看到它是否过期(它在300秒后设置过期)。NSTimeInterval返回随机值
NSTimeInterval interval = [lastRequested timeIntervalSinceNow];
NSLog(@"Interval: %d", interval);
// reload every 5 minutes
if (interval > 300) {
NSLog(@"Last Requested: %d (older than 5 minutes)", interval);
return YES;
} else {
NSLog(@"Last Requested: %d (within 5 minutes)", interval);
return NO;
}
我检查了lastRequested没有改变 - 没关系。当检查值是否大于300,在应用程序的途中跑
2011-01-19 11:31:03.770 App[2998:207] Interval: -830996480
2011-01-19 11:31:03.770 App[2998:207] Last Requested: -830996480 (within 5 minutes)
2011-01-19 11:30:57.634 App[2994:207] Interval: 1494482944
2011-01-19 11:30:57.634 App[2994:207] Last Requested: 1494482944 (within 5 minutes)
2011-01-19 11:30:51.219 App[2991:207] Interval: -1951399936
2011-01-19 11:30:51.219 App[2991:207] Last Requested: -1951399936 (within 5 minutes)
而且奇怪的是,你可以看到 - 它仍然想这是不到300即使:但间隔产生看似随机数它的1494482944.
任何想法?谢谢。
啊谢谢你,对于这个愚蠢的问题感到抱歉 - 我习惯于Ruby(和Rails),我可以写:如果last_requested <5.minutes.ago – 2011-01-19 11:52:09