why don't you create the segue from your viewController to the Login and Profile View Controller and use performSegueUsingIdentifier: and push the navigation Controller using prepareForSegue: method
- (void)viewDidLoad
{
if(USER_IS_LOGGED_IN)
{
if(USER_PROFILE_COMPLETED)
{
[self sendRequest];
}
else
{
//push profile view
[self performSegueWithIdentifier:@"profileSegue" sender:self] ;
}
}
else
{
//push login view
[self performSegueWithIdentifier:@"loginSegue" sender:self] ;
}
}
in prepareforsegue method
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"profileSegue"]) {
ProfileViewController *profileViewController = segue.destinationViewController;
profileViewController.isFromDealView = YES;
profileViewController.hidesBottomBarWhenPushed = YES;
}
else if([segue.identifier isEqualToString:@"loginSegue"]){
LoginViewController *loginViewController = segue.destinationViewController;
loginViewController.isFromDealView = YES;
loginViewController.hidesBottomBarWhenPushed = YES;
}
else{
//no segue to push
}
}