2011-05-13 64 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