我写了一个应用程序,允许用户在日期选择器上输入日期,该应用程序将在该日期到来之前36小时提醒用户。我的问题出在dateFromString:
。我不知道该放什么。这是代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
UILocalNotification *localNotif = [[UILocalNotification alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mm'/'dd'/'yyyy"];
NSDate *eventDate=[dateFormatter dateFromString: ];
localNotif.fireDate = [eventDate dateByAddingTimeInterval:-13*60*60];
localNotif.timeZone = [NSTimeZone defaultTimeZone];
localNotif.alertBody = @"Event tommorow!";
localNotif.alertAction = nil;
localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication]presentLocalNotificationNow:localNotif];
return YES;
}
非常感谢任何帮助,谢谢!
编辑:这是一些额外的代码,我用它来保存他们在日期选择器上输入的日期,如果这有帮助:
- (void)viewDidLoad {
NSDate *storedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"DatePickerViewController.selectedDate"];
[self.datePicker setDate:storedDate animated:NO];
}
这是保存数据的方法:
- (IBAction)dateChanged:(id)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *selectedDate = [self.datePicker date];
[defaults setObject:selectedDate forKey:@"DatePickerViewController.selectedDate"];}
答案 0 :(得分:2)
为什么你需要一个字符串? 制作完成后
[defaults setObject:selectedDate forKey:@"DatePickerViewController.selectedDate"];
您可以像
一样访问日期NSDate* eventDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"DatePickerViewController.selectedDate"];
使用字符串对日期不太好 - 您应该关注语言环境和时间格式(12小时或24小时)等。