IBoutlets no se configuran en nsviewController
-
27-10-2019 - |
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.
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