2017-05-25 80 views
1

我需要檢查一塊代碼每天只有一次,我試了下面的代碼,但它不按我的要求工作。像今天的日期是25-5-2017,最後檢查日期是23-5-2017也不在條件內。我不知道我在做錯什麼。需要檢查的代碼,如果它沒有在過去24小時檢查

  NSDate *todayDate = [NSDate date]; 
      NSLog(@"today date is %@",todayDate); 
      NSDate *lastCheckedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"LastCheckedDate"]; 
      NSLog(@"lastCheckedDate is %@",lastCheckedDate); 
      if ([todayDate compare:lastCheckedDate] > 864000.0f) { 
       NSArray *appMsgsArray = [response valueForKey:@"AppMsgs"]; 
       NSDictionary *mainDict = [appMsgsArray objectAtIndex:0]; 
       NSString *appDataExpiry = [mainDict valueForKey:@"appdata_expiry"]; 
       [stm deleteOldArticles:[appDataExpiry integerValue]]; 
       NSDate *lastDate = [NSDate date]; 
       [[NSUserDefaults standardUserDefaults] setObject:lastDate forKey:@"LastCheckedDate"]; 
      } 

有一天我正在使用864000.0f值。任何人都可以幫助我,謝謝。

+0

「一天一次」 ......你的意思,有自上次檢查傳遞至少24個小時? –

+0

是的,24小時過後,我只需要做這個過程。 @AndréSlotta –

回答

2

試試這個:

NSDate *firstDate = [NSDate date]; 
NSDate *secondDate = [NSDate date]; 

if ([secondDate timeIntervalSinceDate:firstDate] >= 86400) { 
    NSLog(@"24 hours have passed..."); 
} 
當你說
+0

謝謝,讓我檢查。 –

+0

不,這個人也不能工作@AndréSlotta –

+0

你可以顯示你的新代碼嗎? –

相關問題