iOS - 判斷程序天天只執行一次

當進行操做的時候記錄操做時間存在偏好設置當中,當再次點擊的時候獲取如今的時間而後和以前記錄的時間進行比較。若是是一天那麼就提示「今天已經操做過了」,若是不是一天,那麼能夠正常操做,而後記錄操做時間。如此循環往復。

NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
//    NSLog(@"以前時間:%@", [userDefault objectForKey:@"nowDate"]);//以前存儲的時間
//    NSLog(@"如今時間%@",[NSDate date]);//如今的時間
NSDate *now = [NSDate date];
NSDate *agoDate = [userDefault objectForKey:@"nowDate"];
    
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
    
NSString *ageDateString = [dateFormatter stringFromDate:agoDate];
NSString *nowDateString = [dateFormatter stringFromDate:now];
//    NSLog(@"日期比較:以前:%@ 如今:%@",ageDateString,nowDateString);
    
if ([ageDateString isEqualToString:nowDateString]) {
    NSLog(@"一天就顯示一次");
 }else{
    // 須要執行的方法寫在這裏

    NSDate *nowDate = [NSDate date];
    NSUserDefaults *dataUser = [NSUserDefaults standardUserDefaults];
    [dataUser setObject:nowDate forKey:@"nowDate"];
    [dataUser synchronize];
 }
相關文章
相關標籤/搜索