如何在文本字段中临时保存文本?

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

【讨论】:

以上是关于如何在文本字段中临时保存文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何在文本字段中保存链接

如何知道文本字段何时更改而不保存

如何使用 PHP 在 MySQL 数据库中将纯文本 CSV 字段保存为 HTML?

如何将充满文本字段的 HTML 表的更改保存到数据库

如何在节点js中使用单个api保存文本字段值以及文件上传?

如何在没有按钮操作的情况下使用 userdefualts 保存文本字段(swift3)