sdk de iPhone 2.x - referencia a un viewController dentro de otro viewController que aparece como nulo

StackOverflow https://stackoverflow.com/questions/815422

Pregunta

Estoy tratando de dar a una instancia recién creada de un controlador de vista de selector personalizado una referencia a otro viewController como esto (esto está dentro de un selector desde una instancia de ponceViewController que se llama después de tocar una fila de tableView) ...


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

Luego, dentro de mi instancia de timerPickerViewController tengo:

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

El timerPickerViewController se muestra bien, e incluso puedo acceder a cosas desde ponceViewController después de tocar mi " Listo " botón, pero estoy sintetizando ponceViewController y está en mi encabezado y todo, y parece que no puedo acceder a él dentro del método initWithNibName del timerPickerViewController: siempre es nulo. :( ¿Alguien tiene alguna idea?

Editar: También debo mencionar que ponceViewController es nulo dentro del método viewDidLoad del timerPickerViewController también ...

- (void)viewDidLoad {
  ... no such thing as ponceViewController here! ...
}
¿Fue útil?

Solución

Así que lo arreglé eliminando completamente initWithNibName: (NSString *) nibNameOrNil bundle: (NSBundle *) nibBundleOrNil del timerPickerViewController y usé viewDidLoad en su lugar. Todo parece funcionar bien. Creo que el problema fue que la propiedad aún no estaba disponible al hacer referencia dentro de initWithNibName . Espero que ayude a alguien más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top