如何从UI深处的控制器访问managedObjectContext?

ary*_*yeh 4 iphone core-data

我对iPhone/Cocoa的理解仍然有点模糊,所以这可能是一个简单的问题.

我有一个基于CoreData Window的iPhone应用程序.rootController是一个UITabBarController.第一个选项卡视图附有一个UINavigationController,其主视图中有一个表.

当App启动时,设置了objectContext,让App执行一次是有意义的.但是现在我在主控制器中有了managedObjectContext,但是我想把它传递给navcontroller里面的View的Controller,在TabBarController的选项卡列表的第一项内.我该怎么做呢?

将命名UI Inspector Tool中的一个字段允许我执行以下操作:

tabcontroller.navcontroller.manageObjectContext = self.managedObjectContext;

这只有在控制器被实例化并且"实时"时才有效.(在需要控制器之前,控制器是否会被实例化?)如果这个视图大部分被隐藏了怎么办?

无论如何,这可能是一件简单的事情,我只是不能正确理解事物.

将rootController中创建和设置的manageObjectContext共享给应用程序中的许多子控制器的一般正确方法是什么?

ary*_*yeh 6

我猜这是首选的方法,假设核心数据初始化在AppDelegate中完成:

[[[UIApplication sharedApplication] delegate] managedObjectContext]