繁体   English   中英

iOS:通知中心出现警报

[英]iOS: Alert In Notification Center Issue

我写了一个应用程序,当日期快到时会提醒用户。 我有一个日期选择器,它使用以下代码在我的viewDidLoad方法中实现并保存了输入的日期:

- (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"];}

我正在尝试在日期前约36小时使用以下代码在通知中心发出警报:

- (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:datePicker];

localNotif.fireDate = [eventDate dateByAddingTimeInterval:-13*60*60];
localNotif.timeZone = [NSTimeZone defaultTimeZone];


localNotif.alertBody = @"Event tomorrow!";

localNotif.alertAction = nil;

localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[[UIApplication sharedApplication]presentLocalNotificationNow:localNotif];    

return YES;

}

我的问题在dateFromString:datePicker 我不确定要放在哪里,我习惯于使用文本字段,而不是选择器。 非常感谢您的帮助,谢谢!

如果要从假定的UITextField获取文本,请将dateFromString:参数设置为以下dateFromString:行:

UITextField *textField;
[dateFormatter dateFromString:textField.text];

编辑

如果要按照注释中的说明从UIDatePicker获取日期,则可以执行以下操作:

UIDatePicker *picker;
[dateFormatter stringFromDate:picker.date];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM