84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
请教个问题我想做一个即时通讯的app 其中涉及到登陆的问题。想要实现先验证是否登陆 若登陆 则跳转到若未登录 则跳转到登陆界面 在点击登陆后跳转到TabBarController 进行正常使用
现在这个业务逻辑不知道该怎么实现了,烦请各位大大指点一下以下是我的storyboard (图片是随便拉的 不要吐槽啊)
闭关修行中......
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; [self.window makeKeyAndVisible]; //1.取出已存的账号,判断是否过期,是否仍然正确之类 BOAccount *account = [BOAccountTool readAccount]; if (account) { HomeViewController *homeVC = [[HomeViewController alloc] init]; self.window.rootViewController = homeVC; }else{//2.如果不存在,登陆 LoginViewController *loginVC = [[LoginViewController alloc] init]; self.window.rootViewController = loginVC; } return YES; }
我简单说两句。
第一句:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; [self checkUserStatus]; self.window.rootViewController = self.loginController; [self.window makeKeyAndVisible]; }
登录后:
- (void)onLogin { //这句不一定对,大意是这个: UIApplication.sharedApplication.delegate.window.rootViewController = MainController.new }
第二句:
这种在运行时唯一用到的部件我喜欢放到AppDelegate中,索引起来方便,lz可以参考,另外不建议lz完全用StoryBoard来组织关系,不灵活且肯定会坑。
AppDelegate
StoryBoard
在NeroTabbarController的viewwillAppear里面写是否跳转登录界面的逻辑判断。
我首先想到的方法是直接使用模态, 在需要登陆的时候弹出来, 登陆成功后dismiss然后block中刷新根视图控制器上的信息. 只不过以往需要点击登录才会弹出来, 现在的情况是只要判断不在登录状态就直接弹出. 判断方法使用NSUserDefault中的一个跟用户登录状态有关的键值对即可.
AppDelegate.m
我简单说两句。
第一句:
登录后:
第二句:
这种在运行时唯一用到的部件我喜欢放到
AppDelegate
中,索引起来方便,lz可以参考,另外不建议lz完全用StoryBoard
来组织关系,不灵活且肯定会坑。在NeroTabbarController的viewwillAppear里面写是否跳转登录界面的逻辑判断。
我首先想到的方法是直接使用模态, 在需要登陆的时候弹出来, 登陆成功后dismiss然后block中刷新根视图控制器上的信息. 只不过以往需要点击登录才会弹出来, 现在的情况是只要判断不在登录状态就直接弹出. 判断方法使用NSUserDefault中的一个跟用户登录状态有关的键值对即可.