登录后登录到tabBarController

时间:2014-03-15 21:12:24

标签: ios iphone objective-c

我有一个不在UITabBarController中的loginViewController。当用户登录时,这将指向UITabBarController。这有效,但是当我退出并登录时,它给出了线程1:EXEC_BAD_ACCESS错误:

当我第一次登录时,它会从appDelegate方法进入UITabBarController,当我按下注销时,它会正确地进入loginView,但是当我再次尝试登录时,会给出线程1错误。我做错了什么?

loginView如果用户已正确登录:

-(void)someMethod {
    AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
    UITabBarController *tabBarController = appDelegate.tabBarController;
    [self.navigationController pushViewController:tabBarController animated:YES];
    [self.navigationController setNavigationBarHidden:YES];
}

appDelegate UITabBar

tabBarController = [[UITabBarController alloc] init];

MenuViewController *firstTab = [[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:firstTab];


FixtureViewController *secondTab = [[FixtureViewController alloc] initWithNibName:@"FixtureViewController" bundle:nil];
UINavigationController *navController2 = [[UINavigationController alloc] initWithRootViewController:secondTab];

//WorldCupViewController *thirdTab = [[WorldCupViewController alloc] initWithNibName:@"WorldCupViewController" bundle:nil];
//UINavigationController *navController3 = [[UINavigationController alloc] initWithRootViewController:thirdTab];

LoginViewController *loginView = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
UINavigationController *navController4 = [[UINavigationController alloc] initWithRootViewController:loginView];



self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[navController, navController2];

navController.tabBarItem.image = [UIImage imageNamed:@"message-7"];
navController2.tabBarItem.image = [UIImage imageNamed:@"football-32"];
   // navController3.tabBarItem.image = [UIImage imageNamed:@"trophy-32"];
[[UITabBar appearance] setTintColor:[UIColor colorWithRed:110/255.0f green:89/255.0f blue:196/255.0f alpha:1.0f]];

[self.window setRootViewController:navController4];
[self.window makeKeyAndVisible];

tabBar中第一个viewController中的logOut方法:

- (void)actionLogout

{
Firebase *ref = [[Firebase alloc] initWithUrl:FIREBASE];
FirebaseSimpleLogin *authClient = [[FirebaseSimpleLogin alloc] initWithRef:ref];
[authClient logout];

userinfo = nil;
self.navigationItem.rightBarButtonItem = buttonLogin;

LoginViewController *loginViewController = [[LoginViewController alloc] init];
[self.navigationController pushViewController:loginViewController animated:YES];

}

0 个答案:

没有答案