2010-03-27 4 views
0

Я новичок в iPhone и объективе-c, и я все еще пытаюсь склонить голову к владению объектами, так что несите меня.Передача NSDate

У меня есть DOBViewController, на котором есть датпикер. Я создал метод пользовательской инициализации:

-(id)initWithInitialDate(NSDate *)initialDate; 

Другого контроллер представление имеет экземпляр даты объявленный (NSDate * Добролюбов), который содержит значение. Я хотел бы передать это в DOBViewController, чтобы он мог прокручивать datepicker в переданное значение.

Вот метод пользовательских инициализации:

- (id)initWithInitialDate:(NSDate *)initialDate { 
// Initialise ourselves 
self = [super init]; 

// Set the date of the date picker 
if (initialDate != nil) { 
    datePicker.date = initialDate; 
} 
else { 
    // Set it to today 
    datePicker.date = [NSDate date]; 
} 

return self; 

}

Это, как я посылаю объект д.р. NSDate:

DOBViewController *dobViewController = [[DOBViewController alloc] initWithInitialDate:dob]; 

Где д.р. переменная типа NSDate, что объявляется в файле заголовка.

Это не работает, поскольку initialDate всегда имеет значение NULL. Что я делаю не так?

+0

Вы уверены, что 'dob! = Nil'? – kennytm

ответ

2

Ваш datePicker розница не загружена к моменту возврата метода init.... Вы должны сохранить NSDate в переменную экземпляра, а затем выполнить настройку в более подходящем методе, например viewDidLoad.

+0

Отлично. Благодаря! – Garry

Смежные вопросы