Ho un file NIB che carico utilizzando NSWindowController initWindowNibName. Il file NIB contiene una NSWindow. Il proprietario del file è di classe NSWindowController. Ho collegato la presa della finestra dal proprietario del file alla finestra.Il caricamento del file NIB tramite NSWindowController non imposta oggetti di finestra o di livello superiore
Quando carico NIB, [windowController window] è nullo, così come l'array di oggetti di livello superiore. Tuttavia, posso ancora chiamare [windowController showWindow: nil] e mostrare correttamente la finestra.
Qualcosa non sembra proprio qui. Ho confermato le connessioni e il proprietario del file è OK. Infatti, quando guardo il valore _owner dell'istanza windowController nel debugger, lo vedo puntare su se stesso come mi aspetto.
Qualche suggerimento su cosa potrebbe succedere?
Grazie!
Sì, hai ragione. Stavo affermando che la finestra non era nulla prima che chiamassi [controller window]. Non sono ancora abituato a molto della "magia" che Cocoa fa per te sotto le coperte ... è più intelligente di me, o mi fa sembrare più stupido di quanto penso di essere. – psychotik
Più a lungo sviluppo in Cocoa, più imparo quanto poca magia sia davvero (tranne KVO, il metodo swizzling è magico anche quando lo capisci). Il trucco non è affidarsi a dettagli di implementazione interni. Non dare per scontato che tu sappia cosa significa "finestra". Ha un trattino basso; non sono affari tuoi. Le interfacce pubbliche sono estremamente coerenti nei loro comportamenti. Non cercare di intrufolarti intorno a loro. In bocca al lupo! –