我正在开发一个项目,我使用login对用户进行身份验证。当我退出时,用户返回登录页面。我遇到的问题是当用户退出并再次登录时,用户显示在他登出的同一选项卡中,数据仍然存储。
我构建了一个tabbar应用程序,在第一个选项卡中,我使用模块化视图显示登录,并在每个选项卡中,当我调用logout时,使用模块化视图显示登录。所以它只是一个tabbar应用程序,其中登录模块化地呈现。
任何人都可以告诉我如何解决这个问题,还是我有任何结构性缺陷?我真的很感谢你花时间去看这个。
由于
答案 0 :(得分:1)
呈现模态视图的行为永远不会在呈现后清除基础视图数据(这将是完全奇怪的)。
因此,您必须在注销时手动清理视图 - 通过在视图控制器上实现重置方法来删除视图中显示的信息以及在注销过程中调用的信息(即清除文本字段,列表等)。 ),或通过(在注销时)释放各个视图控制器或整个标签视图控制器,并在登录时重新创建它。
答案 1 :(得分:0)
在不了解视图结构的任何内容的情况下,我建议您在用户选择注销时弹出并释放包含信息的视图控制器。
我认为有一个调用会在初次登录后创建视图吗?释放它将刷新视图中捕获的数据,并且现有代码将创建新视图。
如果该答案对您没有任何帮助,请编辑您的问题并添加有关视图结构外观的详细信息。
答案 2 :(得分:0)
您可以在模拟显示登录视图之前设置tabBarController selectedIndex属性。
[self.tabBarController setSelectedIndex:0]; // first tab is 0
要清除数据,只需在用户注销时执行此操作。