从我添加日期选择器并为其设置本地通知之日起,如何计算和显示另外 4 天?
Posted
技术标签:
【中文标题】从我添加日期选择器并为其设置本地通知之日起,如何计算和显示另外 4 天?【英文标题】:How to calculate and display 4 other days from the day i add in date picker and set local notification to it? 【发布时间】:2014-08-19 13:56:40 【问题描述】:在我的应用程序中,当我在日期选择器中选择一天时,它应该自动计算并显示另外 4 天,并且它应该在相应的日子通知。例如。如果我输入 19-08-2014,它应该计算并显示从 19-08-2014(我在 datepicker 中输入的那一天)开始的第 3 天、第 7 天、第 14 天和第 21 天。
我将如何实现这一目标。任何帮助将不胜感激。 我已经添加了我当前的代码供您参考。这不符合我的目的。 请帮忙。
(IBAction)save:(UIButton *)sender
NSDate *pickerDate = [self.picker date];
UILocalNotification *localNotif = [[UILocalNotification alloc]init];
//localNotif.alertBody = _enterText.text;
localNotif.alertBody = @"Please Take Your Rabipur Dosage";
localNotif.fireDate = pickerDate;
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.soundName = (UILocalNotificationDefaultSoundName);
localNotif.applicationIconBadgeNumber = 1;
//localNotif.repeatInterval = NSDayCalendarUnit;
[[UIApplication sharedApplication]scheduleLocalNotification:localNotif];
[self dismissViewControllerAnimated:YES completion:nil];
【问题讨论】:
您当前的代码发生了什么。你展示的是你正在寻找的东西,而不是正在发生的事情。 我当前的代码只显示我输入通知的日期。但我希望它显示从我进入之日起的第 3 天、第 7 天、第 14 天和第 21 天,并在那些日子里发出通知。 【参考方案1】:使用您要添加的日期差创建一个NSDateComponents
对象,并通过NSCalendar -dateByAddingComponents:toDate:options
将其添加到pickerDate
。然后根据结果日期创建通知。
在这种情况下,是这样的:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setDay:3];
NSDate *reminderDate = [gregorian dateByAddingComponents:offsetComponents toDate:pickerDate options:0];
在第 7 天、第 14 天和第 21 天重复。
【讨论】:
您好,感谢您的回复。我会试试这个代码,让你知道。 嗨,我不擅长 xcode 编程。你能告诉我在哪里添加你之前提到的代码吗? 没有。这非常非常非常简单。如果您无法弄清楚,那么我将不得不向您解释以编写您的程序的内容是没有限制的。在开始编写代码之前,也许您应该参加一堂课或阅读一些书籍。以上是关于从我添加日期选择器并为其设置本地通知之日起,如何计算和显示另外 4 天?的主要内容,如果未能解决你的问题,请参考以下文章
如何将图块添加到谷歌地图并为其设置动画,即不断用新图块替换它们