如何在文本字段中临时保存文本?
Posted
技术标签:
【中文标题】如何在文本字段中临时保存文本?【英文标题】:How to save text temporary in textfield? 【发布时间】:2013-03-26 09:43:04 【问题描述】:我有一个小问题,当我在视图控制器 A 的 UITextfield 中放入文本,然后我转到另一个视图控制器,然后我返回视图控制器 A 时,文本字段中的文本消失了。
有没有办法将文本临时保存在文本字段中?因此,当您转到其他视图控制器时,文本不会消失。
【问题讨论】:
你的 uitextfield 弱吗? 不,我的 UITextfield 很强大 你怎么去另一个视图?您可以将代码发布到另一个视图吗?以及您是如何回到当前视图的? KAREEM MAHAMMED 是对的,文字消失很奇怪,我认为您在 B 视图中使用了很大的内存,您是在推使用相机的视图控制器吗? 我在下面看到,其中大多数使用全局字符串不要那样做 【参考方案1】:当您浏览页面时,将数据保存在 NSUserDefaults 中。
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
[defaults setObject:textfield.text forKey:@"textfield value"];
[defaults synchronize];
并在viewWillAppear
方法中重新分配文本字段值。
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
textfield.text= [defaults valueForKey:@"textfield value"];
或
否则取一个全局字符串并将字符串值分配给 textFiled 和反之亦然。
【讨论】:
虽然这将允许您从整个应用程序的任何位置检索保存的值,但这可能无法解决下划线问题。 OP 确实声明“我返回查看控制器 A,文本字段中的文本已经消失”【参考方案2】:使用 UINavigationController。然后,您可以使用 pushViewController 将屏幕添加到导航堆栈,并使用 popViewController 从堆栈中删除屏幕。当您返回时,您在 textfield 中的内容将被保留。
【讨论】:
【参考方案3】:是的,有很多方法。如果您希望文本仅在应用程序运行时可见,则将文本保存在全局 NSString
中,并将其添加到 viewWillAppear
方法中的 UITextfield
中。
您也可以将属性设置为全局,您可以在 AppDelgate 或全局单例类中添加声明字符串。
如果要保存变量/字符串,请使用NSSUserDefaults
【讨论】:
【参考方案4】:您可以使用全局变量并将文本存储在该全局变量中。
为此,您可以使用AppDelegate
文件的.pch 文件来管理全局变量。
或者您可以使用NSUserDefaults
。
【讨论】:
以上是关于如何在文本字段中临时保存文本?的主要内容,如果未能解决你的问题,请参考以下文章