5

毎日午前 8:00 に 30 日間連続して UILocalNotificaion をスケジュールし、その機能を 1 つの UILocationNotification インスタンスのみで実装したいと考えています。ローカル通知をスケジュールするコードは次のとおりです。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm"];
NSDate *date = [[NSDate alloc] init];
date = [formatter dateFromString:@"08:00"];
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = date;
localNotification.timeZone=[NSTimeZone defaultTimeZone];
localNotification.alertBody = @"You just received a local notification";
localNotification.alertAction = @"View Details";
localNotification.soundName = UILocalNotificationDefaultSoundName;
localNotification.repeatInterval = NSDayCalendarUnit;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
[formatter release];
[date release];

午前 8 時に毎日の通知が永久に送信されますが、連続 30 日間のみ通知を受け取りたいです。最も簡単な解決策は、30 個の UILocalNotifications を起動することですが、1 つの UILocalNotification インスタンスでそれを実行したいと考えています。どうやってやるの?助けてください。

4

2 に答える 2

4

UILocalNotification userInfo プロパティで、通知を作成するときに NSDate オブジェクトを保存します。通知を開くときは、 userinfo の日付で現在の日付を確認してください。差額が 30 日以上ある場合は、ローカル通知をキャンセルできます。

于 2013-10-31T12:56:03.320 に答える