2017-06-21 36 views
0

我實際上試圖執行segue,如果用戶登錄到主頁和segues連接,並且我已給予標識符作爲「已登錄」 ,我還沒有目前編碼註銷,所以沒有辦法清除NSUserDefaults,我也檢查過,它也給我的價值回來!登錄用戶執行segue不工作的用戶數據使用NSUserDefaults

下面是我的觀點做了第一個視圖控制器的負載的方法在此我得到的手機號碼從用戶的OTP

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
    self.custid =[defaults objectForKey:@"uid"]; 
    NSLog(@"Customer id--%@",self.custid); 
    if(self.custid!=nil) 
    { 
     [self performSegueWithIdentifier:@"loggedin" sender:self]; 
    } 

    [_checkboxb setBackgroundImage:[UIImage imageNamed:@"unsigned checkbox"] 
         forState:UIControlStateNormal]; 
    [_checkboxb setBackgroundImage:[UIImage imageNamed:@"signed check box"] 
         forState:UIControlStateSelected]; 
    UIGraphicsBeginImageContext(self.view.frame.size); 
} 

這是我的故事板,並在日誌中可以看出U錯誤 this is my screenshot

和我的代碼,該視圖控制器正在執行不是第一個視圖登錄正在執行,但視圖是第一個視圖控制器

+0

請勿在第一個視圖控制器中檢查用戶登錄狀態。檢查appdelegate中的登錄狀態並根據該狀態來配置根視圖控制器。 –

+0

@RajeshkumarR你在哪裏建議我使用root view controller? – Akshay

+0

在AppDelegate'didFinishLaunchingWithOptions'方法 –

回答

1

不檢查第一個視圖控制器中的用戶登錄狀態。在AppDelegate中檢查登錄狀態,並根據此情況分配根視圖控制器。

@implementation AppDelegate 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; 
    UIViewController *viewController; 
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
    if([defaults objectForKey:@"uid"]!=nil) 
    { 
    viewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController"]; 
    } 
    else 
    { 
    viewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"ViewController1"]; 
    } 
    self.window.rootViewController = viewController;//With out NavigationController 
    //self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:viewController];//With NavigationController 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 
+0

是標識符segue的標識符嗎?或查看控制器ID ??是故事板vc的?? – Akshay

+0

@Akshay號這是視圖控制器的標識符 –

+0

和一個問題如何註銷和執行segue到otp視圖? – Akshay