iOS登录注销逻辑问题

问题描述:

想要做一个不登录不能使用的app ,app的主要框架是一个TabBarController。。在第四个TabBarItem对应的Controller中有注销按钮。。点击注销后--到登录界面 --登录成功跳到第一个TabBarItem对应得Controller中。。第一次启动app的时候也要检查是否登录。已经登录跳转到和登录成功后一样的界面。。没登录进入到登录界面。。。怎么实现最好呢。。。

卡住的地方是:如果在appdelegate中判断。。那注销的时候又不会调用到didFinishLaunching这个方法。。在每个tabbar的每个页面去判断,。就要点击注销的时候present到登录界面。。登录成功dismiss掉 可是这里实在第四个tabbar对应的Controller上。。还要先跳转到第一个Controller(首页)再dismiss。。。我觉得这样实现起来有点怪。。我觉得思路有问题。。所以来问下

不知道表达清楚了没有====

阅读 5.6k
5 个回答

UITabBarControllerDelegate中有-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController可以在其中进行判断,展示登录的ModelView

登录成功之后是都要跳转到第一个TabBar对应的页面还是,在哪里做了一个必须登录的操作--跳转到登录--返回到必须登录才能操作的那个页面呢!
可以全局记录一个状态,存到偏好里,注销和登录成功的时候去修改这个状态

rootViewController

未登录时把登录的控制器设为rootViewController。
登录完成后把TabBarController设为rootViewController。
注销时再切一下。

怎么没和服务器通信?!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进