我正在使用解析庫構建應用程序,並嘗試集成Twitter驗證碼來嘗試。作爲解析緩存如果用戶在使用有條件地顯示不同的視圖控制器,具體取決於用戶是否登錄
if ([PFUser currentUser])
已經登錄我想表現出不同的UIViewController
取決於如果他們已經登錄。
什麼是最好的做法這在iOS開發,我應該在appDelegate還是在NavigationController
中執行檢查。
我該如何在代碼中執行此操作?
我正在使用解析庫構建應用程序,並嘗試集成Twitter驗證碼來嘗試。作爲解析緩存如果用戶在使用有條件地顯示不同的視圖控制器,具體取決於用戶是否登錄
if ([PFUser currentUser])
已經登錄我想表現出不同的UIViewController
取決於如果他們已經登錄。
什麼是最好的做法這在iOS開發,我應該在appDelegate還是在NavigationController
中執行檢查。
我該如何在代碼中執行此操作?
的解決方案的一個是可以添加一個視圖控制器(根VC)作爲主頁,您檢查用戶是否被記錄並底座上的值可以調用performSegue...
方法與不同的標識符取決於該值。
這將需要添加兩個視圖控制器在故事板一個用於記錄和一個當用戶沒有登錄並創建兩個家庭VC的segue到這些視圖。您還需要以不同的方式命名segue,您會將該名稱傳遞給performSegue...
方法。
我會用下面的方式用segue展示你的故事板;
navController->loginController->mainController;
在Interface Builder中爲mainController分配標識符。爲了本練習的目的,我們將其稱爲mainVC。在loginController的viewDidLoad中,如果用戶已經通過身份驗證,則可以驗證用戶並轉換到mainController。
E.G.
- (void)viewDidLoad{
[super viewDidLoad];
/// validate authentication status
if([PFUser currentUser]){
UIStoryboard *storyBoard = self.storyboard;
UIViewController *targetViewController = [storyBoard instantiateViewControllerWithIdentifier:@"mainVC"];
UINavigationController *navController = self.navigationController;
if (navController) {
[navController pushViewController:targetViewController animated:NO];
}
}
}
這將顯示mainViewController而不停止身份驗證。
你是如何構建你的應用程序故事板或筆尖文件或通過代碼? – satheeshwaran 2014-09-19 10:33:52
我目前正在使用故事板 – 2014-09-19 10:34:35
雖然我完全願意在代碼中做到這一點,如果更容易,我寧願寫我的應用程序,而無需使用Interface Builder。 – 2014-09-19 10:45:25