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