标签栏控制器和导航控制器出现问题

时间:2011-07-04 08:27:12

标签: iphone objective-c core-data uinavigationcontroller uitabbarcontroller

描述

我有一个带有导航控制器选项卡的标签栏控制器。第一个默认选项卡称为“NowViewController”。所以在我的AppDelegate的application:didFinishLaunchingWithOptions我有以下内容:

// Set up MainWindow
NowViewController *nowViewController = [[[NowViewController alloc] initWithNibName:@"NowViewController" bundle:nil] autorelease];
nowViewController.context = [self managedObjectContext];
self.tabBarController.selectedViewController = nowViewController;
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];

我需要传递Core Data的托管对象上下文,这就是我实例化NowViewController对象的原因。

现在在我的MainWindow.xib中,我只需将导航控制器设置如下:

image 1

问题

启动应用程序时,我得到一个带有NewsViewController的空白页面。当我点击“Now”选项卡时,我会得到一个导航栏,上面写着“Root View Controller”,实际上它应该说“Now”。我已经在NowViewController的self.title = @"Now"方法中拥有ViewDidLoad

为什么我会遇到这种问题?

谢谢!

1 个答案:

答案 0 :(得分:0)

固定

我刚将上面发布的AppDelegate代码行改为:

NowViewController *nowViewController = (NowViewController *) [self.navigationController topViewController];
nowViewController.context = [self managedObjectContext];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyWindow];

如果有人能够解释这行代码,我真的很感激:

NowViewController *nowViewController = (NowViewController *) [self.navigationController topViewController]