pipe理login/注销转换的build议
我有一个应用程序,只有当用户通过身份validation才能使用。 特别是,我创build了两个不同的UIViewController。 第一个叫做LoginViewController,第二个叫做HomeViewController。 在applicationDidFinishLaunching:
方法中,创buildLoginViewController,然后添加到rootViewController
属性中,如下所示:
LoginViewController* loginCtr = ... // alloc and initiWithNibName... self.window.rootViewController = loginCTr; [loginCtr release];
Whitin LoginViewController我创build了一个执行login的方法。 当用户通过身份validation时,我执行一个名为performLogin
的方法。
- (void)performLogin { MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate]; [appDelegate switchView]; }
swicthView
方法已经在Application委托类中实现了。
- (void)switchView { if(VIEW_TYPE == kLogin) // Display Login { // create a new LoginViewController and assign it to rootViewController } else // Display Home { // create a new HomeViewController and assign it to rootViewController } }
鉴于以前的代码,是否可以实现更优雅的机制来pipe理login/注销转换,或者这种types的实现可以被认为是有价值的解决scheme?
先谢谢你。
另一个选项,我将设置HomeViewController作为rootViewController。 在viewDidLoad或viewDidAppear方法(在HomeViewController上显示任何信息之前),我将检查用户是否具有login凭证。 如果没有,我将显示loginViewController作为一个模式来请求用户login凭证。 在这种情况下,我不需要改变窗口的rootViewController。
从iOS 5开始,我开始使用UIViewController
的新包容API来pipe理login/注销转换。
实现一个容器视图控制器
如果iOS 5不可用,我会看到类似的方法写作高品质的视图控制器 。
希望有所帮助。
- 使用FB SDK v3.5在“允许这些应用程序使用您的帐户”列表中不显示iOS应用程序
- Google Sign-In Error -4
- 如何使用loginfunction开发基于TabBar的应用程序?
- iPhone应用程序拒绝17.2:应用程序要求用户使用其Facebook帐户login
- 使用Google Service for iOS而不使用GoogleService-Info.plist
- 在iOS应用程序启动时有条件地切换根视图控制器的最佳方式
- iOS 7中的单点login(SSO)
- 由于Google SignIn引起的iOS拒绝。 最新的Google SignIn(4.0.0)去safari
- Facebooklogin和Googlelogin之间的冲突 – iOS