2017-01-29 2 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

何をしたいですか?質問を編集して詳細情報を提供し、[How to ask question](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]; 
関連する問題