因此,這是我現在的待定體系結構 -如何從另一個NSViewController中包含的NSViewController訪問NSView
我有一個包含2個視圖的xib;在那個xib中我也放了兩個對象,視圖控制器。 每個視圖控制器都將其view
連接到xib中的一個視圖。此XIB的
該文件的所有者是一個主視圖控制器中,具有在XIB
綁定到視圖控制器兩個視點控制器屬性現在我有一個NSWindowController
,創建主視圖控制器的一個實例。
當我嘗試添加masterViewController.subViewController1.view
我的窗前,我發現subViewController1
是nil
當我在我的NSWindowController初始化masterViewController,我打電話:
[masterViewController alloc] initWithNibName:"SubViews"]
,並正確初始化,所有代碼都已設置,但我的subViewControllers
從不初始化。
我認爲如果我打電話給initWithNibName
,它會在我的xib中加載subViewControllers
並將它們連接到我在masterViewController
中聲明的屬性。但是,這似乎沒有工作,因爲initwithNibName
調用後subViewControllers
是nil
。
我在考慮在masterViewController
中明確地調用[[subViewController alloc] init]
,但這似乎並不奏效。
如果必須的話,我會將我的xib分成2個xib,分別具有2個視圖和視圖控制器作爲其所有者 - 但在我看來,理論上我應該能夠在一個xib中創建2個視圖控制器。
如果我正在做一些愚蠢的事,請讓我知道。我主要是在嘗試並試圖找到實現這一點的最佳方式。
在此先感謝!
爲什麼你首先需要viewcontrollers?你是否試圖用Cocoa API開發iOS應用程序?它通常是您使用的WindowControllers。我通常不再使用窗口控制器。 – 2014-10-18 01:10:38
@ElTomato啊對不起,這是一個OSX應用程序。我可能正在設計這個錯誤。你用什麼來代替NSWindowController?我有一個NSWindow,它包含一個按鈕,顯示更多信息的彈出窗口。但是按鈕和彈出窗口都包含基於哪個用戶登錄的文本。因此,我創建了一個包含按鈕和彈出窗口的根視圖控制器,並且該視圖控制器位於主窗口中 – 2014-10-20 17:32:52