iOS: оповещение в центре уведомлений - PullRequest
0 голосов
/ 20 января 2012

Я написал приложение, которое будет предупреждать пользователя о приближающейся дате. У меня есть средство выбора даты, которое я внедрил и сохранил введенную дату, используя этот код в моем методе 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. Я не уверен, что туда вставить, я привык делать это с текстовыми полями, а не с помощью средств выбора. Любая помощь очень ценится, спасибо!

1 Ответ

1 голос
/ 20 января 2012

Если вы хотите взять текст из гипотетического UITextField, задайте для параметра dateFromString: что-то вроде этих строк:

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

EDIT

Если вы хотите взять дату из UIDatePicker, как вы описываете в своем комментарии, вы можете сделать что-то вроде этого:

UIDatePicker *picker;
[dateFormatter stringFromDate:picker.date];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...