我的应用程序有一个菜单,当您从菜单中选择倒计时时钟时,您将被传送到视图控制器。您使用日期选择器选择日期,然后按“开始倒计时”按钮。在datepicker上方是一个标签,显示剩余的天,小时,分钟和秒。我正在使用它作为部署倒计时时钟。
我遇到的问题是,退出应用程序后;或者在我转到菜单上的其他项目后,每当我更改屏幕或退出应用程序时,日期选择器都不会保存日期。
我的代码有问题,我只是不知道是什么。请帮帮我,我是新手,需要好好推动! :)
- (IBAction)startCountdown:(id)sender {
NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar];
NSUInteger preservedComponents = (NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit);
self.datePicker.date = [calendar dateFromComponents:[calendar components:preservedComponents fromDate:self.datePicker.date]];
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(updateTime)
userInfo:nil
repeats:YES];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *selectedDate = [self.datePicker date];
[defaults setObject:selectedDate forKey:@"DatePickerViewController.selectedDate"];
NSDate *storedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"DatePickerViewController.selectedDate"];
[self.datePicker setDate:storedDate animated:NO];
}
答案 0 :(得分:0)
我发现工作实际上是将它放在 - (void)viewdidload方法中:
NSDate *dateSelected = [[NSUserDefaults standardUserDefaults] objectForKey:@"datePicker.selectedDate"];
if (dateSelected) {
[self.datePicker setDate:dateSelected];
}
self.countdownTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(updateTime)
userInfo:nil
repeats:YES];
[self updateTime];