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];
}
答案 0 :(得分:3)
似乎是在MainView.xib文件中设置的。导航控制器内部有一个设置为RootViewController类的视图控制器。