2009-05-02 3 views
0

Я пытаюсь дать вновь созданный экземпляр пользовательского контроллера представления сборщика ссылку на другой viewController, как это (это внутри селектора из экземпляра ponceViewController, который вызывается после того, как ряд Tableview касания) ...iphone 2.x sdk - ссылка на viewController внутри другого viewController, отображающегося как null


- (IBAction)rowTapped:(id)sender { 
    TimerPickerViewController *viewController = [[TimerPickerViewController alloc] initWithNibName:@"TimerPickerView" bundle:nil] 
    self.timerPickerViewController = viewController; 
    timerPickerViewController.ponceViewController = self.rootViewController; 
    [viewController release]; 
} 

Тогда в моем случае timerPickerViewController у меня есть:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
    ... 
    // ponceViewController is null here 
    ... 
    } 
}

в timerPickerViewController дисплеев просто отлично, и я могу даже доступ Материал из ponceView Контроллер после того, как я нажимаю кнопку «Готово», но я синтезирую ponceViewController, и он находится в моем заголовке и все, и я не могу получить доступ к нему внутри метода initWithNibName timerPickerViewController - он всегда равен нулю. :(Кто-нибудь есть какие-либо идеи

Edit: Я хотел бы также отметить, что ponceViewController является пустым внутри метода viewDidLoad timerPickerViewController как хорошо ...

- (void)viewDidLoad { 
    ... no such thing as ponceViewController here! ... 
}

ответ

1

Так что я установил его путем полного удаления initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil из timerPickerViewController и использовали viewDidLoad Вместо этого все работает нормально. Я думаю, проблема заключалась в том, что свойство было недоступно, когда ссылалось на него внутри initWithNibName. Надеюсь, что это поможет кому-то другому.

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