2013-11-28 155 views
0

我有FavouriteViewController其中我有一个按钮点击按钮我提出了一个模态称为LoginViewController(使用故事板)的视图。解雇目前视图控制器后无法推视图控制器

在这个页面(LoginViewController),我再次有按钮,点击我解散我的模态视图控制器,解雇后我再次回到FavouriteViewController现在在这个页面上,当我尝试推我的视图控制器它doesn推动。

这里是我的代码片段,

------ PART 1 -----

FavouriteViewController.m

- (IBAction)LoginClicked:(id)sender { 
     NSLog(@"--- Navigated to LoginViewController ---"); 
    //Navigates to `LoginViewController` using storyboard.. 
} 

LoginViewController.m

- (IBAction)LoginViaFb:(id)sender{ 

     NSLog(@"--- Inside LoginViafb ---"); 
     [self dismissViewControllerAnimated:YES completion:NULL]; 

     FavoriteTabViewController *fav=[[FavoriteTabViewController alloc] init]; 
     [fav Loginsuccessfull]; 
} 

FavouriteViewController.m

-(void)Loginsuccessfull{ 
    NSLog(@"--- Inside Loginsuccessfull ---"); 

    UserDetailsViewController *user=[[UserDetailsViewController alloc] init]; 
    [self.navigationController pushViewController:user animated:NO]; 
} 

我的日志显示:

--- Navigated to LoginViewController --- 
--- Inside LoginViafb --- 
--- Inside Loginsuccessfull --- 

请帮帮忙,并在此先感谢。

----- PART 2 -----:

**我也试过:**

代码在我LoginViewController.m

- (IBAction)LoginViaFb:(id)sender{ 

     NSLog(@"--- Inside LoginViafb ---"); 
     [self dismissViewControllerAnimated:YES completion:NULL]; 

     FavoriteTabViewController *fav=[[FavoriteTabViewController alloc] init]; 
     [email protected]"some values"; 
} 

FavouriteViewController.m

-(void)viewDidAppear:(BOOL)animated{ 
    NSLog(@"some values --- %@",some values); 

    if ([GoLogin isEqualToString:@"some values"]) { 
      NSLog(@"Method called"); 
     [self.navigationController pushViewController:[[UserDetailsViewController alloc] init] animated:NO]; 
    } 

} 

但它仍然没有帮助,显示some values --- null

+0

xcode显示任何警告? – freelancer

+0

确实得到任何异常或错误。你正在使用的xcode的版本 – codercat

+0

我没有在我的日志中得到任何错误,并且我使用的是xocde 5.0 – Krunal

回答

2

这是什么方式我对你说。

FavouriteViewController.m

- (IBAction)LoginClicked:(id)sender { 
    NSLog(@"--- Navigated to LoginViewController ---"); 

    loginVcObc.logindelegate = self;  
} 

#pragma mark LoginDelegate 

- (void)loginSuccessfull { 
     UserDetailsViewController *user=[[UserDetailsViewController alloc] init]; 
     [self.navigationController pushViewController:user animated:NO]; 
    } 

LoginViewController.h

#import <UIKit/UIKit.h> 

@protocol LoginDelegate;  
@interface LoginViewController : UIViewController 

@property (assign) id <LoginDelegate> logindelegate; 

@end 

@protocol LoginDelegate <NSObject> 

- (void)loginSuccessfull; 

@end 

LoginViewController.m

#import "LoginViewController.h" 

@implementation LoginViewController 

@synthesize logindelegate; 

- (IBAction)LoginViaFb:(id)sender{ 

    NSLog(@"--- Inside LoginViafb ---"); 
    if (self.logindelegate) { 
     [self.logindelegate loginSuccessfull]; 
    } 
    [self dismissViewControllerAnimated:YES completion:NULL]; 


} 
+0

Dude如果我不初始化,那么我将如何调用这个?' - (void)Loginsuccessfull' – Krunal

+0

我告诉过你可以在这里使用委托概念。在LoginViewController中用一个方法loginsuccessfull声明协议,并将该委托设置为FavoriteTabViewController。在调用LoginViaFb之前调用LoginViewController的这个方法,调用该委托方法。 –

+1

你能告诉我如何? – Krunal

相关问题