UIDatePicker и NSDate - PullRequest
       13

UIDatePicker и NSDate

3 голосов
/ 09 июня 2009

У меня есть приложение, в котором я запрашиваю день рождения пользователя с помощью UIDatePicker, а затем сохраняю его в стандартных пользовательских настройках по умолчанию. Когда приложение открывается снова, я снова получаю дату, а затем хочу установить UIDatePicker на эту дату, но он дает сбой и не принимает дату. Хранится в формате «8 июня 2009 г.»

Как мне это сделать? Вот как я сейчас пытаюсь:

- (void)viewWillAppear:(BOOL)animated {
    birthDate = [Preferences getBirthDate];
    if (birthDate == nil) {
        [datePicker setDate:[NSDate date] animated:NO];
    }       
}

Мои методы pref выглядят так в своем классе:

+ (NSDate *)getBirthDate {
    // Geting via user defaults....
    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"DOB"])
        return [[NSUserDefaults standardUserDefaults] objectForKey:@"DOB"];
    else {
        return nil;
    }
}

+ (BOOL)setBirthDate:(NSDate *)bDate {
    //Setting via user defaults
    [[NSUserDefaults standardUserDefaults] setObject:bDate forKey:@"DOB"];
    return [[NSUserDefaults standardUserDefaults] synchronize];
}

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 марта 2013

Здесь objDatePicker - объект Datepicker,

    NSDateFormatter *formate = [[NSDateFormatter alloc] init];  
    [formate setDateFormat:@"dd-MM-yyyy  HH:mm:ss"];
    NSTimeZone *zone=[NSTimeZone defaultTimeZone];
    [formate setTimeZone:zone];
    NSDate *date = [formate dateFromString:timeTextField.text];  
    NSLog(@"Output :%@",date);
    [objDatePicker setDate:date];
1 голос
/ 09 июня 2009

Из вашего кода вы никогда не устанавливаете дату datePicker как дату рождения. Попробуйте это:

- (void)viewWillAppear:(BOOL)animated {
NSDate *birthDate = [Preferences getBirthDate];
if (birthDate == nil) {
    birthDate = [NSDate date];
}

datePicker.date = birthDate;

}

...