什麼時候創建keyWindow?何時創建NSApp的keyWindow?
我認爲NSWindow會在相應的視圖控制器的updateView方法被調用之前創建(我調用它來響應awakeFromNib),但是如果我使用NSApp的keyWindow創建一個警報表,它不會正確顯示。但是,如果我在該視圖上放置一個按鈕,然後在用戶單擊該按鈕時彈出警報,則會定義keyWindow,並且警報正確顯示(如預期的那樣)。
我的應用程序委託幾乎完全是空的。
我並不想在啓動時顯示警報,但我確實想知道關鍵窗口何時設置。 :)
如果nib文件包含很多窗口,但默認只顯示其中一個,該怎麼辦?其他控制器如何在不需要知道nib文件是否已完成加載的情況下查看主窗口或關鍵窗口? (我現在試圖在相應的窗口控制器上使用windowDidLoad事件,但它們沒有被觸發)。 – Arafangion
評論中的後面的問題或多或少地通過http://stackoverflow.com/questions/2695671/nswindowcontroller-windowdidload-not-call回答,因此它接受你的答案,因爲它很好地回答了原始問題。 – Arafangion
@Ara'NSApplication'和'NSWindow'發佈了一些可用於協調的通知。你可以聽這些通知,或者在'NSApplicationDelegate'和'NSWindowDelegate'中使用相應的方法。也許這就需要更多的關於你的架構和預期行爲的細節。 – 2011-07-11 08:35:41