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?

¿Fue útil?

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.

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