iPhone Objective-C:处理注销用户A->登录用户B的最佳方法?

iPhone Objective-C:处理注销用户A->登录用户B的最佳方法?,iphone,objective-c,Iphone,Objective C,我有一个使用OAuth的应用程序,其逻辑如下: 如果存在有效存储的用户请求令牌,则加载带有四个视图的UITabBarController。 否则,将用户带到登录屏幕 我今天意识到,如果我登录到我的应用程序,注销,并切换到另一个用户,第一个用户的数据将显示,直到我点击刷新。此外,会显示上一个用户上次查看的选项卡,这对于应用程序用户来说非常奇怪 我曾想过删除TabBarController并创建一个新的,但考虑到我是通过Interface Builder设置的,我意识到我不知道如何做到这一点。而且,

我有一个使用OAuth的应用程序,其逻辑如下: 如果存在有效存储的用户请求令牌,则加载带有四个视图的UITabBarController。 否则,将用户带到登录屏幕

我今天意识到,如果我登录到我的应用程序,注销,并切换到另一个用户,第一个用户的数据将显示,直到我点击刷新。此外,会显示上一个用户上次查看的选项卡,这对于应用程序用户来说非常奇怪

我曾想过删除TabBarController并创建一个新的,但考虑到我是通过Interface Builder设置的,我意识到我不知道如何做到这一点。而且,我甚至不确定这是不是最好的方法

处理从a->登录到B的注销的好方法是什么?另外,如果您需要更多信息,我很乐意详细说明

谢谢大家!

我是这样做的

登录

加载并显示登录屏幕 在后台加载根视图控制器 在登录屏幕后面插入根视图控制器 成功登录后删除/释放登录屏幕 注销

加载登录屏幕并将其放置在根视图后面的视图堆栈底部 移除/释放根视图控制器登录变得可见 ... 登录时在2点重新开始 如果将特定于用户的数据存储在documents目录中,请将其存储在子目录中
使用用户名或id作为目录名。每个用户一个目录。

感谢您的回复!我有一个选项卡栏控制器作为根视图,我通过Interface Builder设置它,每个选项卡都有一个视图,等等。释放它后,我如何加载这个确切设置的新实例?再次感谢。我创建了一个示例。看一看。哇,太棒了。非常感谢你!当我点击rootcontroller的视图选项卡、按钮等上的任何内容时,我会不断获得EXC\u BAD\u访问权限。知道我可能做错了什么吗?谢谢。没关系,我以前的实现中有些东西妨碍了我。再次感谢!