嗨我刚开始在iOS 5上进行实验。我创建了一个没有故事板的项目,并尝试以编程方式添加视图(完全不使用界面生成器)。我有以下代码,但窗口的rootViewController属性似乎不工作。我做了self.tabController
的NSLog,它显示我值(非空),但在self.window.rootViewController = self.tabController
后,我输出self.window.rootViewController
它在控制台中给我空。rootViewController属性无法在iOS 5项目中使用xcode 4.2
我一直在努力解决这个问题很长一段时间了。任何帮助,将不胜感激。
以下是我didFinishLaunching
方法:
self.dataSource = [[[ADJWebDataSource alloc] init] autorelease];
ADJBrowseListingsViewController *browseListingsVC = [[ADJBrowseListingsViewController alloc] init];
ADJSecondViewController *secondVC = [[ADJSecondViewController alloc] init];
tabBarController = [[UITabBarController alloc] init];
tabBarController.view.frame = CGRectMake(0, 0, 320, 460);
navController = [[UINavigationController alloc] initWithRootViewController:browseListingsVC];
NSMutableArray* viewControllers = [[NSMutableArray alloc] initWithCapacity:2];
[viewControllers addObject:browseListingsVC];
[viewControllers addObject:secondVC];
[navController release];
[browseListingsVC release];
[secondVC release];
tabBarController.viewControllers = viewControllers;
[viewControllers release];
browseListingsVC.dataSource = self.dataSource;
NSLog(@"controller %@", self.tabBarController);
self.window.rootViewController = self.tabBarController;
NSLog(@"controller1 %@", self.window.rootViewController);
[self.window makeKeyAndVisible];
return YES;
感谢 维克
您是否启用ARC? –
嘿韦恩。不,我不知道。我正在使用保留和释放方法。 – Vik
你在哪里创建了self.window?你确定self.window不是零吗? –