2015-03-18 1 views
1

У меня есть экземпляр datePicker, который связан с IBOutlet.NSDatePicker возвращает дату по умолчанию, даже если дата задана программно

@interface SomeClass() { 

    __weak IBOutlet UIDatePicker *datePicker; 
} 

Теперь в моем awakeFromNib методе я устанавливаю minimumDate, maximumDate и date недвижимость

- (void)awakeFromNib { 

    [datePicker setMinimumDate:[[NSDate date] dateByAddingTimeInterval:60*10]]; 
    [datePicker setMaximumDate:[[NSDate date] dateByAddingTimeInterval:60*60*24*10]]; 
    [datePicker setDate:datePicker.minimumDate]; 

    NSLog(@"%@", datePicker.date); 
    //Logs Correct Value 
} 

При входе datePicker.date после установки его в awakeFromNib метод, он дает правильное значение. До сих пор так хорошо.

Теперь, когда я пытаюсь получить значение даты после инициализации представления, например, при событии нажатия кнопки, оно дает мне значение по умолчанию, которое является текущим значением даты.

- (IBAction)aButtonTouchUpInsideEvent:(UIButton *)button { 
    NSLog(@"%@", datePicker.date); 
    //Logs [NSDate date] value 
} 

Я хочу знать, почему он не дает мне значение, которое я поставил в awakeFromNib методе. Я попытался найти эту проблему, но не повезло.

+0

Почему awakeFromNib вместо viewDidLoad? – Sanandrea

+0

@ САРРИ и что делегат? Согласно документации Apple и UIKit Framework, для UIDatePicker нет делегата. –

+0

@ Sanandrea, потому что это UIView, а не UIViewController –

ответ

2

Вы значение преодолено в некоторый момент времени с помощью системы настройки. Вы можете переместить свой код на -willMoveToSuperview:

0

Попробуйте

NSString *dateStr = @"Tue, 25 May 2010 12:53:58 +0000"; 
    // Convert string to date object 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"EE, d LLLL yyyy HH:mm:ss Z"]; 
    NSDate *date = [dateFormat dateFromString:dateStr]; 
    [myPicker setDate:date]; 

затем попытаться получить время от даты подборщика может быть есть некоторая проблема с временем

+0

Как я уже упоминал в вопросе, он дает правильное время при настройке в awakeFromNib. –