切换后视图控制器login后..最佳实践
我已经成功地设置了我的应用程序stream程逻辑,除了login以外,一切似乎都正常工作。 我想保持用户login,所以当应用程序重新打开configuration文件屏幕是第一个显示。 现在我有代码..
override func viewDidAppear(animated: Bool) { var currentUser = PFUser.currentUser() println(currentUser.objectId as String) if currentUser != nil { self.performSegueWithIdentifier("loginsuccess", sender: nil) } else { // Show the signup or login screen } }
它的工作,但似乎太慢,login屏幕闪烁一秒钟。 我find了一个更干净的方式来做到这一点,但没有find多less。
在这种stream程中,我通常使用window的rootViewController来玩游戏。 例如
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; if ([UserDefaultsSingleTon IsUserLogin]) { [self SetRootToHomeView]; } else { [self SetRootToLoginView]; } return YES; } -(void)SetRootToLoginView { self.loginController = [[LoginController alloc] initWithNibName:@"LoginController" bundle:nil]; self.window.rootViewController = self.loginController; [self.window makeKeyAndVisible]; } -(void)SetRootToHomeView { self.homeController = [[HomeController alloc] initWithNibName:@"HomeController" bundle:nil]; self.window.rootViewController = self.homeController; [self.window makeKeyAndVisible]; }
然后当login成功或注销时,您可以在两个控制器之间切换。 通过调用这些方法与appdelegate引用。
- 通过短信改进了即时视频— VioTalk视频聊天Messenger
- iOS tableview如何检查它是否向上或向下滚动
- 如何捕获变量的块当前值
- 在UILocalizedIndexedCollation的sectionForObject中select器的作用是什么:(id)object collationStringSelector:(SEL)selector method
- NSDate对象使用不同的值来调用NSString
- iOS的Swift的 – 如何存储arrays与核心数据?
- 如何解决编码问题? (NSString / XMLParsing)
- iOS使用NSColor与UIColor?
- 自定义着色器SCNProgram iOS 9 Scenekit