2017-01-29 93 views
0

我正在尝试从不显示用户登录看法,如果他在 登录我在viewWillAppear中隐藏登录查看,如果用户登录

-(void)viewWillAppear:(BOOL)animated 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    if ([defaults objectForKey:@"userName"]) { 

     NSDictionary *d = [defaults objectForKey:@"currentUser"]; 
     UserProfile *userData = [[UserProfile alloc]initWithDictionary:d]; 
     [[NetworkModel sharedManager] setCurrentUser:hh]; 
     [self loginResults]; 
    } 

    self.navigationController.navigationBarHidden = YES; 

} 

做到这一点,loginResults功能

-(void)childrenReceived:(NSNotification *) notification 
    { 
     [SVProgressHUD dismiss]; 
     NSDictionary *userInfo = notification.userInfo; 
     NSArray *allKids = [userInfo objectForKey:@"children"]; 
     RootViewController *sideBarRoot= [self.storyboard instantiateViewControllerWithIdentifier:@"root"]; 
     sideBarRoot.children = allKids; 
     [self dismissViewControllerAnimated:YES completion:nil]; 
     [self presentViewController:sideBarRoot animated:YES completion:nil]; 
} 
+0

什么是问题? – jesse

+0

你想做什么?请编辑您的问题以提供更多信息并阅读[如何提问](http://stackoverflow.com/help/how-to-ask)。 –

+0

检查此:http://stackoverflow.com/questions/41864151/how-to-present-login-screen-only-when-a-userdefaults-key-doesnt-exist/41864888#41864888 – aircraft

回答

1

检查以下编码

@interface AppDelegate : UIResponder <UIApplicationDelegate> 
-(void) didFinishLogin 
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; 
    CCKFNavDrawer*homeNavController = (CCKFNavDrawer*)[mainStoryboard instantiateViewControllerWithIdentifier:@"NavigationLoginID"]; 
    [self.window makeKeyAndVisible]; 
    self.window.rootViewController = homeNavController; 

-(void)didFinishLogout 

    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil]; 
    UINavigationController *homeNavController = (UINavigationController*)[mainStoryboard instantiateViewControllerWithIdentifier:@"LoginNavigationID"]; 
    LoginVC *objloginVC = (LoginVC*)[homeNavController topViewController]; 
    objloginVC.delegate=self; 
    [self.window makeKeyAndVisible]; 
    self.window.rootViewController = homeNavController; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
     if([[[NSUserDefaults standardUserDefaults]objectforkey:@"loginKey"]isequaltostring:@""]) 
     [self didFinishLogout]; 

     else 
     [self didFinishLogin];