No se puede tener el evento windowDidClose
ya que la notificación que lo acompaña mantendría un objeto no válido (es probable que la ventana haya sido desasignada al cerrar). Para conseguir lo que necesita, hacer de su clase, el delegado de la aplicación, y poner en práctica el método siguiente:
- (BOOL) applicationShouldTerminateAfterLastWindowClosed: (NSApplication *) theApplication;
A partir de ese método, volver YES
.
Si su objeto controlador tiene una instancia en el MainMenu.nib
, solo haga una conexión desde el Propietario del archivo (lo que significa Application Object en el archivo MainMenu.nob). Control: arrastre desde el propietario del archivo hasta su objeto y conecte la toma de delegado.
O en el código fuente, poner algo como esto en el método init de su objeto controlador:
[NSApp setDelegate: self];
Gracias! No noté este método en 'NSApplicationDelegate'. :) –