Pregunta

Así que tengo un NSViewController (myVC) configurado así:

//MyVC.h
...
@property (nonatomic, retain) IBOutlet NSTextField *input;
...

//MyVC.m
...
@synthesize input;

- (id)init
{
    self = [super initWithNibName: @"MyVC" bundle: [NSBundle mainBundle]];
    NSLog(@"%@", input); //prints (null) always
    return self;
}

- (void)loadView
{
    [super loadView];
    NSLog(@"%@", input); //still (null)
}
...

//MyVC.xib

Custom View       [Referencing Outlet:    File's Owner.view]
    Text Field    [Referencing Outlet:    File's Owner.input]

Ahora, cuando carga este nsviewController (a modo de MyVC *vc = [[MyVC alloc] init];) y cargarlo en una ventana, veo el campo de texto adecuadamente. Sin embargo, como sugeriría la pasta anterior (y varios bad_accesss), vc.input nunca apunta correctamente al campo de texto.

Notas:

  • Este proyecto está ejecutando ARC.
  • Esto no es una simplificación o generalización. He ejecutado este código exacto en vano.
  • Todos los iBoutlets definitivamente están configurados adecuadamente.
¿Fue útil?

Solución

El error fue una combinación de cosas.

A una de mis revisiones le faltaba la etiqueta Iboutlet, y ninguna de ellas conservaba referencias al ViewController en tiempo de ejecución.

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