一日一度だけ何かする処理のメモ
パズドラをやった事はないですが、
一日一度だけアラートを表示する等の処理を、
UserDefaultsで作成してみたのでメモ。
(20131218微妙に修正)
1.起動時にアラート表示日を保存
2.アラート表示日がなければアラート表示
3.アラート表示日が前回表示日と変わっていたらアラート表示
- (void)viewDidLoad { [super viewDidLoad]; // アラート表示確認 NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; if ([ud valueForKey:@"showAlertAt"]) { // 前回アラート表示日があり、日付が変わっていればアラート再表示 NSString *saveDateStr = [ud valueForKey:@"showAlertAt"]; if ([saveDateStr compare:[self str_today_yyyyMMdd]] != NSOrderedSame) { NSLog(@"アラート起動処理"); } } else { // アラート表示日がなければ初回起動なのでアラート表示 NSLog(@"アラート起動処理"); [ud setObject:[self str_today_yyyyMMdd] forKey:@"showAlertAt"]; [ud synchronize]; } } /*!今日の日付をyyyyMMdd文字列で返す */ - (NSString *)str_today_yyyyMMdd { // 今日の日付を作る、GMT+-0のTimeZoneをセットしユーザー設定による影響を回避 NSDate *date = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; [df setDateFormat:@"yyyy/MM/dd"]; return [df stringFromDate:date]; }