iOS - 判断程序每天只执行一次


NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSDate *currentDate = [NSDate date];
NSDate *lastDate = [userDefault objectForKey:@"currentDate"];

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];

NSString *lastDateString = [dateFormatter stringFromDate:lastDate];
NSString *currentDateString = [dateFormatter stringFromDate:currentDate];
// NSLog(@"日期比较:之前:%@ 现在:%@", lastDateString, currentDateString);

if ([lastDateString isEqualToString:currentDateString]) {

  NSLog(@"一天就显示一次");
} else {

  // 需要执行的方法写在这里
  NSDate *currentDate = [NSDate date];
  [userDefault setObject: currentDate forKey:@"currentDate"];
  [dataUserDefault synchronize];
}