ios - 如何为在 NSUserDefaults 中保存数据的 UITextField 设置默认值

标签 ios default nsuserdefaults

我使用 NSUserDefaults 保存用户输入的值。一切正常,数据保存和检索。但是我怎样才能为那个 UITextField 设置一个默认值呢?当我使用

- (void)viewDidLoad
{
    textField.text = @"12345";
}

或将文本放入 nib 文件不起作用,应用程序以空字段开头。
- (IBAction) saveBtnPresssed : (id) sender
{
    myString1 = [[NSString alloc] initWithFormat:textField.text];
    [textField setText:myString1];
    NSUserDefaults *stringDefault = [NSUserDefaults standardUserDefaults];
    [stringDefault setObject:myString1 forKey:@"stringKey"];
     NSLog(@"%@",myString1);
}

最佳答案

我不会自己设置这些值,XCode 提供了一种使用绑定(bind)更简单的方法。

它的工作方式是为您的文本字段设置一个绑定(bind),并为其命名以便可以识别它,例如“intialTextField”。然后该值会自动存储在 NSUserDefaults 中,并在应用程序关闭时更新。

在 XCode 中,单击要绑定(bind)的 textField,然后打开 Inspector。然后单击右侧的第二个选项卡。这是“绑定(bind)”选项卡。

单击“值”字段上的下拉箭头并选中“绑定(bind)到用户默认值...”

在“模型键路径”中,设置您要用来识别文本字段的名称,这可以是您想要的任何名称。

然后,每当您在 TextField 中输入内容时,它将在应用程序退出时保存。如果您需要立即保存此值(仅在极少数情况下需要),您可以在应用程序中输入以下代码:

[yourTextField synchronize];

在应用程序启动时,您可以使用 NSUserDefaults 使用您之前设置的标识符重新设置文本字段的值。

希望这可以帮助!

关于ios - 如何为在 NSUserDefaults 中保存数据的 UITextField 设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10416625/

相关文章:

ios - 使用 RxSwift 阻塞线程

ios - ELEVENWORDINLINE什么时候用呢?

python - 重载类方法时引用自身

iOS 8 在更新 UserDefaults 对象时卡住

ios - 如果应用程序在 10 秒内被杀死,NSUserDefaults 会丢失新保存的数据

iOS - setObject 与同步

ios - 如何解决 Flurry iOS SDK 问题以及 UIWebView 已弃用的 API 使用情况?

ios - 根据项目在网格中的 x,y 位置从数据库中提取项目的最有效方法

c++ - 默认参数 : invalid use of 'this' outside of a non-static member function

c - 在枚举中定义 "Unknown"或 "NULL"值