0

当我在视图控制器之间切换时,我希望能够将文本保留在文本字段中。
我正在制作登录屏幕和登录。但是,如果我在另一个视图控制器中返回登录视图控制器,登录信息就会消失(我很确定这是因为它是视图控制器的新实例)。
我想要发生的是,如果用户输入他们的登录信息然后返回登录视图控制器,他们不必重新输入他们的信息。

编辑:这是我的程序化segue切换视图控制器的代码:

SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
secondViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:secondViewController animated:YES completion:nil];
NSLog(@"Login SUCCESS");
4

3 回答 3

0

如果您希望它在程序的启动过程中保持不变,那么您应该在登录信息更改时存储它,然后在登录视图控制器加载并从中设置文本字段值时将其读回。

您可以通过几种不同的方式存储信息:

iOS 钥匙串
有关如何在钥匙串中安全存储信息的示例,请参阅此 SO 问题:
iOS:如何在应用程序中存储用户名/密码?

NSUserDefaults
如果您只存储用户名(而不是密码),那么您可以使用 NSUserDefaults。
请参阅此问题以获取一个很好的示例:
将字符串保存到 NSUserDefaults?

于 2013-07-29T04:25:38.850 回答
0

将您的第一个控制器嵌入导航栏中。接下来取出该代码并使用:

SecondViewController *secondViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"secondViewController"];
[self.navigationController pushViewController:secondViewController animated:YES];
于 2013-07-29T04:06:50.910 回答
0

如果登录控制器是第一个控制器,即窗口的根视图控制器,除非您更改哪个控制器是根控制器,否则它不会被释放。当您呈现和关闭模态视图控制器时,不会发生这种情况。我猜你会通过另一个模态演示从 SecondViewController “返回”到登录控制器。那是你在做什么?如果是这样,那就错了,这确实会创建一个新的登录控制器实例,正如您所怀疑的那样。相反,当您想返回登录控制器时,您应该关闭 SecondViewController。您需要在代码中执行此操作,而不是在情节提要中使用 segue。

于 2013-07-29T04:32:56.780 回答