Передача NSDate - PullRequest
       13

Передача NSDate

0 голосов
/ 27 марта 2010

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

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

-(id)initWithInitialDate(NSDate *)initialDate;

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

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

- (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 dob:

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

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

Это, похоже, не работает, так как initialDate всегда NULL. Что я делаю не так?

1 Ответ

2 голосов
/ 27 марта 2010

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

...