Estoy tratando de cambiar el contenido de mi Windows, de otra clase, que es la subclase de NSViewController. Estoy intentando el código a continuación, pero no hace nada.¿Cómo obtener la ventana principal (delegado de la aplicación) de otra clase (subclase de NSViewController)?
[NSApplication sharedApplication]mainWindow]setContentView:[self view]]; //code in NSViewController
[NSApplication sharedApplication]mainWindow] // returns null
He intentado añadir
[window makeMainWindow];
en clase delegado de la aplicación, pero no va a ayudar.
¿Echo de menos algo?
P.S. También estoy allí utilizando el código de abajo para llamar a cualquier función de delegado de mi clase,
[(appDelegate *) [[NSApplication sharedApplication]delegate]MyMethod];
pero me pregunto es algo mejor, wihtout importar la clase de delegado. Algo como esto
[[NSApplication sharedApplication]delegate]MyMethod];
(que da aviso)
gracias lot.I tienen una sola ventana. Entonces probablemente usaré windows, para entrar en Array, y usaré el primer objeto en Array. Acerca de los métodos en el delegado, ¿lo intentó desde diferentes clases como viewcontroller? cuando lo llamo, funciona bien, pero da una advertencia, ese delegado puede no responder a ese Método. – User1234
Veo lo que quiere decir ahora sobre las llamadas de delegado. Desafortunadamente, el mensaje [[NSApplication sharedApplication] delegate] siempre devolverá un objeto de tipo NSApplicationDelegate. Tendrá que transmitirlo al delegado de su aplicación si desea enviar mensajes que sean específicos del delegado de su aplicación. Es posible que desee hacer esto como una pregunta separada? –
Creo que la única forma de hacerlo es convertir NSApplicationDelegate en un delegado específico e importarlo en clase. Gracias. – User1234