1

我使用 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);
}
4

2 回答 2

4

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

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

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

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

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

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

[yourTextField synchronize];

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

希望这可以帮助!

于 2012-05-02T15:22:00.397 回答
1

双击UITextField你的故事板并写下你的默认值。

这适用于 Xcode 5.1!

故事板示例

于 2014-03-20T09:02:33.520 回答