我有一個AppController對象,其中包含一個實例變量int adventures
。 這通過Interface Builder綁定到標籤。如何在另一個對象中設置一個實例變量?
我也有一個叫做PopUpWindow的NSWindowController的子類。當單擊輸入按鈕時,彈出窗口上的文本字段中的值應更改AppController對象中的變量adventures
。
即使使用@public
和@package
代替adventures
它也不會改變。我也試圖從PopUpWindow類中使用
[self willChangeValueForKey:@"adventures"];
。這將跨越課程嗎?我怎樣才能做到這一點?
其實它的工作方式是相反的。當應用程序加載一個窗口面板彈出一個文本字段和按鈕詢問一個值。該值應該設置AppController中的變量冒險。我不確定如何使用NSNotifications,但我有手頭的參考書幫助。我也嘗試在PopUpWindow中創建一個變量numOfAdventures並將其綁定到標籤,爲什麼當我在IB中創建對象並將標籤綁定到PopUpWindow.numOfAdventures時它沒有工作? – sud0
作爲一個快速更正,我實際上在我的窗口控制器中分配了AppController,並且調用了 '[controller willChangeValueForKey:@「adventures」];' 不是自我。 – sud0
我通過擺脫NSWindowController的子類並使用'IBOutlet NSWindow * popUpWindow;'解決了我的問題,使它在啓動時可見,並在單擊輸入按鈕時使其關閉。我不知道該怎麼做的唯一的事情就是讓它在你需要的時候重新開放。我習慣了NSWindowController的'showWindow'方法。這是我第一次與NSWindow合作。 – sud0