iphone 2.x SDK - referência a uma viewController dentro de outro viewController aparecendo como nulo
-
03-07-2019 - |
Pergunta
Eu estou tentando dar uma instância recém-criada de uma visão selecionador costume controlador uma referência a outro viewController assim (este está dentro de um seletor de uma instância ponceViewController que é chamado depois de uma briga tableView é aproveitado) ...
- (IBAction)rowTapped:(id)sender {
TimerPickerViewController *viewController = [[TimerPickerViewController alloc] initWithNibName:@"TimerPickerView" bundle:nil]
self.timerPickerViewController = viewController;
timerPickerViewController.ponceViewController = self.rootViewController;
[viewController release];
}
Em seguida, dentro da minha instância timerPickerViewController eu tenho:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
...
// ponceViewController is null here
...
}
}
Os timerPickerViewController exibe muito bem, e eu posso até mesmo coisas acesso a partir ponceViewController depois que eu bater meu botão "Concluído", mas eu estou sintetizando ponceViewController e é no meu cabeçalho e tudo, e eu não consigo acessá-lo dentro do método initWithNibName de timerPickerViewController - é sempre nulo. :( Alguém tem alguma idéia?
Edit: Eu também deve mencionar que ponceViewController é nulo dentro do método viewDidLoad do timerPickerViewController bem ...
- (void)viewDidLoad {
... no such thing as ponceViewController here! ...
}
Solução
Então eu fixa-lo, removendo completamente initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
de timerPickerViewController e viewDidLoad
usado. Tudo parece estar funcionando direito. Acho que a questão era que a propriedade ainda não estava disponível quando referenciando-lo dentro initWithNibName
. Espero que ajude alguém.