2016-09-26 47 views
-1

我需要的兩件事情在應用更改根視圖控制器代表

1)關心,如果我的應用程序不能登錄的用戶,我需要顯示LoginVC,然後passwordVC和VC3 ..

2)如果用戶已經登錄在我需要顯示passwordVC然後VC3

對於方案我已創建一個多個導航控制器VC3,我給標識符爲新創建的導航控制器。而現在我有再創建一個密碼VC以保存在第二種情況下。目前在VC3上新建密碼屏幕。因此輸入正確的密碼後,我需要關閉新創建的PasswordVC,並應顯示VC3。

我已經完成了1個St場景。我只是檢查鑰匙串,我離開是因爲我有導航控制器作爲初始視圖controller.here的LoginVC是我第2次爲1分的情況

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
KeychainItemWrapper *keyChain = [[KeychainItemWrapper alloc]initWithIdentifier:@"Login" accessGroup:nil]; 
NSString *str = [keyChain objectForKey:(__bridge id)(kSecAttrAccount)]; 
if (str.length == 0) { 
    //here i have commented those lines becausee i having initial view controller as navigation controller in my storyboard. 
     //   self.window.rootViewController.storyboard; 
     //   CognitoHomeViewController *Login = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"LoginVC"]; 
     //[self.window setRootViewController:Login]; 
    } 
    else{ 

     PasscodePinViewController *PasscodePinViewController=[[PasscodePinViewController alloc]initWithNibName:@"PasscodePinViewController" bundle:nil];    
     [self presentviewcontroller:PasscodePinViewController];} 

我else部分的代碼,我需要改變.... 我創建了導航控制器和新的PasswordVC場景。我正在使用鑰匙串管理我的應用程序委託中的2個場景。如果用戶名存在於鑰匙串上,我需要做第二個場景(如果不是第一場景)。

事情是我不如何執行應用程序delegateclass.Please第二個場景幫我做到這一點...

回答

0

您不必在AppDelegate中做到這一點的。創建一個WelcomeVC並使其成爲根控制器,並檢查用戶是否登錄到歡迎VC中,並且可以根據條件繼續登錄到VC或passwordVC。

+0

@ Teja Nandamuri我沒有使用segue,只通過編碼從一個視圖控制器移動到另一個視圖控制器。然後,爲什麼我應該想再次創建一個vc –

+0

我想這樣做我的應用程序委託...請建議一些例子,並幫助我做到這一點 –

+0

塞格是一種方式來做,你不必使用塞格,你可以在welcomeVC中完成所有編碼。應用程序代表不是做所有這些事情的地方。如果你繼續做這些事情,那麼你的應用程序代表將會變得很討厭。如果您使用welcomeVC作爲根控制器,則會產生很大的差異。 –

相關問題