开发者

uitabbarcontroller crashes on launch

开发者 https://www.devze.com 2023-03-21 12:49 出处:网络
I have an iphone app that has a root view with a button that suppose to lead to a tab bar view. when you click on the UIbutton in the root view, it triggers an IBAction method that does the code below

I have an iphone app that has a root view with a button that suppose to lead to a tab bar view. when you click on the UIbutton in the root view, it triggers an IBAction method that does the code below. From some reason it crashes towards t开发者_StackOverflow社区he end. Any ideas? Would be happy to get any help...Thanks!!

rootview.h

@interface RootView : UIViewController

@property (strong, nonatomic) UIWindow *window;

@property (strong, nonatomic) UITabBarController *tabBarController;

@end

rootview.m

-(IBAction)GoToTabBarView:(id)sender {

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController1 = [[FirstView alloc] initWithNibName:@"FirstView" bundle:nil];
UIViewController *viewController2 = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];


 }

The app crashes here:

self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];

What am I doing wrong? Thanks!!

CRASH LOG:

2011-07-20 11:45:37.359 MyTabProject[17929:207] <FirstView: 0x6836070> <SecondView: 0x683c770>
2011-07-20 11:45:37.410 MyTabProject[17929:207] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "FirstView" nib but the view outlet was not set.'
*** First throw call stack:
(0xf8c600 0x112452e 0xf31f59 0xf31ec9 0xdbe80 0xdc35d 0xdc57f 0xf6ec5 0xf6d13 0xf5438 0xf5264 0xf4f11 0xf42c6 0x4c93 0xf8dd78 0x1acc5 0x1ac5a 0xbfbd4 0xc009d 0xbee8c 0x3ff13 0x4022d 0x26990 0x1a1a7 0x136b886 0xf5bd11 0xebdc9b 0xebc4b1 0xebb93c 0xebb868 0x1369fef 0x136a0b4 0x180c4 0x2a99 0x2a05)
terminate called throwing an exception(gdb) 


It's hard to say without having any error information. But have you tried

NSMutableArray *listOfViewControllers = [[NSMutableArray alloc] init];
UIViewController *vc;

vc = [[FirstView alloc] initWithNibName:@"FirstView" bundle:nil];
[listOfViewControllers addObject:vc];
[vc release];
vc = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];
[listOfViewControllers addObject:vc];
[vc release];

[self.tabBarController.viewControllers setViewControllers:listOfViewControllers]; 

Also, are you sure that your nibs exist? You should use the bundle:

[[FirstView alloc] initWithNibName:@"FirstView" bundle:NSBundle.mainBundle];
0

精彩评论

暂无评论...
验证码 换一张
取 消