我有一個基於文檔的應用程序,建議使用建議的NSDocument
/NSWindowController
安裝程序。每個窗口都有自己的NSWindowController
實例和關聯的XIB文件。界面在-(id)init
:if (self = [super initWithWindowNibName:@"DocumentWindow"]) { // yadda yadda }
中相當簡單。 XIB文件包含一個對象,該對象表示一個單獨的控制器,每當用戶打開一個新窗口時應立即執行該控制器。它提供僅與當前文檔相關的數據。當我使用-(id)initWithWindowNibName:
解壓對象時,儘管有兩個不同的窗口控制器,並且儘管調用了兩次,我總是可以獲得對同一個實例的引用。 XIB加載機制似乎只解壓同一個歸檔對象一次哪種類型是有意義的(真的?)。XIB文件中的對象的多個實例
除了在代碼中分配單獨的對象,手動加載視圖,計算它們的大小,將它們添加爲子視圖,然後設置綁定並關注當窗口關閉時手動解除綁定,還有沒有辦法?
因爲我自己的愚蠢,我正在撞牆。這隻會讓事情變得更糟。
您確定所討論的對象實際上是在XIB中,而不是「文件所有者」(實際上不在XIB中)。 –
該問題與XIB加載機制完全無關,請參閱下面的答案。 –