Sto provando a modificare il contenuto di Windows, da un'altra classe, che è sottoclasse di NSViewController. Sto cercando il codice qui sotto, ma non fa nulla.Come ottenere la finestra principale (delegato app) da un'altra classe (sottoclasse di NSViewController)?
[NSApplication sharedApplication]mainWindow]setContentView:[self view]]; //code in NSViewController
[NSApplication sharedApplication]mainWindow] // returns null
Ho provato ad aggiungere
[window makeMainWindow];
in App classe Delegate, ma non aiuterà.
Mi sono perso qualcosa?
P.S. Anche io sono qui utilizzando il codice qui sotto per chiamare qualsiasi funzione di delegato nella mia classe,
[(appDelegate *) [[NSApplication sharedApplication]delegate]MyMethod];
ma mi chiedo è qualcosa di meglio, wihtout importazione di classe delegato. Qualcosa di simile
[[NSApplication sharedApplication]delegate]MyMethod];
(che dà avvertimento)
Grazie lot.I hanno solo una finestra. Quindi probabilmente userò windows, per entrare in Array, e userò il primo oggetto in Array. Sui metodi sul delegato, l'hai provata da classi diverse come viewcontroller? quando lo chiamo, funziona bene, ma dà un avvertimento, che il delegato potrebbe non rispondere a quel metodo. – User1234
Capisco cosa intendi ora delle chiamate dei delegati. Sfortunatamente il [[NSApplication sharedApplication] delegate] messaggio restituirà sempre un oggetto di tipo NSApplicationDelegate. Dovrai inviarlo al delegato della tua app se desideri inviarlo messaggi specifici per il tuo delegato dell'app. Potresti chiederlo come una domanda separata? –
Penso che l'unico modo per farlo sia cast NSApplicationDelegate a delegato specifico e importarlo in classe. Grazie. – User1234