2010-11-25 8 views
8

Necesito iniciar una ventana modal desde un complemento en una aplicación de video. Creé un constructor de Nib in Interface junto con una clase NSWindowController. Pero cuando trato de ejecutar la ventana como estaLa sesión modal requiere un error de ventana modal en Mac

Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"]; 

[NSApp runModalForWindow: [newWin window]]; 

Me da un error en la consola: Modal de sesión requiere ventana modal Creo que tiene algo que ver con Interface Builder (Perdón, estoy realmente nuevo a IB).

Aquí está el enlace al archivo Nib y las Clases. Agradecería que alguien pudiera decirme qué hice mal en IB. Gracias.

[Enlace eliminado]

Respuesta

17

Usted instanciado una instancia de Registration en el archivo semilla. Esa no es la forma de preparar un archivo de punta para usar con un NSWindowController. Ese objeto Registration es un objeto distinto contenido en el archivo de punta, no el objeto Registration que asignó en el código que citó anteriormente.

En la punta pasó a initWithWindowNibName, la File's Owneres la NSWindowController ejemplo, se crea en el código. Por lo tanto, en el inspector, configure el nombre de clase File's Owner como Registration y conecte su toma window para que sea su objeto de ventana dentro del archivo nib.

+0

¡Ah! No puedo creer que me haya perdido eso. ¡Gracias de nuevo! Trabajado como un encanto. – rwb

+0

De nada :) – Yuji

+0

He vuelto a esta respuesta * otra vez * y * otra vez * ese era el problema que estaba causando este error, gracias Yuji. La práctica hace la perfección, supongo, eventualmente aprenderé a conectarlos. – SilverSideDown

Cuestiones relacionadas