簡體   English   中英

NSTimeInterval返回隨機值

[英]NSTimeInterval returning random values

我正在為我正在開發的應用編寫一個緩存系統。 它在Core Data中存儲了一個密鑰(NSString)和一個最后請求的時間戳(NSDate),我無法查看它是否已過期(它設置為在300秒后過期)。

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沒有改變 - 那沒關系。 但是間隔會產生一個看似隨機的數字:

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時所看到的那樣,在應用程序的中間運行時 - 它仍然認為它不到300,即使它是1494482944。

有任何想法嗎? 謝謝。

記錄間隔時,將其記錄為整數(%d),但時間間隔為雙精度(%f)。 替換NSLog(...)中的那些實例,您應該看到正確的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM