navigationController如何在此代码中获取topViewController(来自CoreDataBooks示例)?

时间:2011-02-26 05:13:31

标签: iphone ios uiviewcontroller uinavigationcontroller

navigationController如何在此代码中获取topViewController(来自CoreDataBooks示例)?我假设在NIB文件中有一些映射,但是我不能通过在Interface Builder中查看此代码和NIB文件来证明自己的工作原理。

该示例的源代码可用here

是否有人能够解释topViewController是否在此应用程序中设置,例如在CoreDataBooksAppDelegate.m“applicationDidFinishLaunching”方法中,是否获得了RootViewController的实例?我猜这个解释可能围绕Interface Builder&处理NIB文件......

- (void)applicationDidFinishLaunching:(UIApplication *)application {

    RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];  // <=== HOW DOES THIS WORK
    rootViewController.managedObjectContext = self.managedObjectContext;

    // Configure and show the window
    [window addSubview:[navigationController view]];
    [window makeKeyAndVisible];
}

1 个答案:

答案 0 :(得分:3)

似乎是在MainView.xib文件中设置的。导航控制器内部有一个设置为RootViewController类的视图控制器。