从AppDelegate启动CoreData View?

时间:2011-12-08 18:20:50

标签: iphone objective-c core-data uiviewcontroller uitableview

我正在玩核心数据并且很新。这段代码看起来非常重要:

UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
    MasterViewController *controller = (MasterViewController *)navigationController.topViewController;
    controller.managedObjectContext = self.managedObjectContext;

它将managedObjectContext设置为所需的视图吗? (这次是MasterViewController

现在我玩过它但似乎无法让它发挥作用。如果我想从应用中的其他位置启动MasterViewController,而不是直接从/作为根视图启动该怎么办?

希望你能提供帮助,谢谢。

编辑: 我在InterFace Builder中看到的观点:

UINavigationController>关系> UIViewController> Push Segue> UITableViewController

因此,在Interface构建器中,UINavigationBar是空白的第一个控制器,然后UIViewController连接到它,并且是用户将在应用程序中看到的第一个视图。然后我想从那里到我的UITableViewController,在那里我使用我的CoreData。

2 个答案:

答案 0 :(得分:0)

您有两种解决方案:

您必须在所有UIViewController

之间通过所有应用程序NSManagedObjectContext



从这样的任何地方获取NSManagedObjectContext

[[[UIApplication sharedApplication] delegate] mainManagedObjectContext];

答案 1 :(得分:0)

确保:

  1. 您的视图控制器(非视图)可以访问权限managedObjectContext
  2. 您的表格视图datasourceself.fetchedResultsController获取数据。
  3. 您可以配置提取的结果控制器以获取tableview的正确数据。