WindowDidLoad WindowWillload en NSWindowController nunca llamado
-
27-10-2019 - |
Pregunta
Estoy creando una ventana usando el siguiente código:
if(hudWindow == nil)
hudWindow = [[TimelogWindowController alloc] initWithWindowNibName:@"TimelogWindow" owner: self];
[hudWindow showWindow: self];
La ventana se muestra correctamente, sin embargo, nunca se llaman a los métodos de WindowDidLoad y WindowWillload de TimElogWindowController. He establecido el delegado, ¿cuál más podría ser el problema?
Solución
¿Realmente quieres decir? self
(No está claro en su código qué es exactamente self
) ser el propietario de TimElogwindow.nib? Por lo general, el controlador de la ventana es el propietario del archivo NIB. Intenta reemplazar
hudWindow = [[TimelogWindowController alloc]
initWithWindowNibName:@"TimelogWindow" owner: self];
con
hudWindow = [[TimelogWindowController alloc]
initWithWindowNibName:@"TimelogWindow"];
para que el recién creado TimelogWindowController
La instancia se convierte en el propietario de ese archivo NIB, asegúrese de que el propietario del archivo en timElogWindow.nib esté configurado como de tipo TimelogWindowController
, y el propietario de ese archivo window
La salida está conectada al objeto de la ventana.