2011-05-13 63 views
0

我有一個基於文檔的應用程序與視圖控制器,其中包含一個表,數組控制器和添加/刪除按鈕。我將文件的所有者(myViewController)綁定了託管對象上下文,併爲myMOC建立了屬性/合成命令。核心數據視圖控制器綁定問題

我的問題是如何設置視圖控制器內的託管對象上下文。我寫的......

NSWindow *myWindow = [[self view] window]; 
NSWindowController *myWindowController = [myWindow windowController]; 
id myDoc = [myWindowController document]; 

self.myMOC = [myDoc managedObjectContext]; 

但是,調用從awakeFromNibinit內,生成一個mywindow的價值nil。任何幫助表示讚賞。謝謝

+0

你如何實例化你的視圖控制器?視圖控制器是否從nib文件加載視圖?你如何將視圖添加到窗口? – 2011-05-13 06:34:17

回答

0

我假設當你加載它時,myView是在它自己的nib中,然後你將視圖添加到由於myViewController是文件所有者而在另一個nib中創建的窗口。那是對的嗎?如果是這樣,[[self view]窗口]應該返回nil,因爲當awakeFromNib或init被調用時視圖還沒有被添加到窗口中。 myView添加到窗口後,您需要運行myMOC設置代碼。嘗試將上述代碼分解爲-setupMOC方法,並在將視圖添加到窗口或超級視圖後調用它。如果你馬上做了,你也可以在awakeFromNib中調用[self performSelector:@selector(setupMOC)withObject:nil afterDelay:0.0]。

+0

謝謝你的回覆。作爲新人,我仍然在學習*當方法可以打電話時(這可能非常令人沮喪)。是的,myView是在自己的筆尖。在加載viewController nib文件後,我最終從windowController方法調用了最後兩行代碼(上面提到過)。再次感謝。 – 2011-05-13 17:00:35