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

时间:2012-05-02 15:15:42

标签: ios default nsuserdefaults

我使用NSUserDefaults保存用户输入的值。一切正常,数据保存和检索。但是如何为该UITextField设置默认值?当我使用

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

或将文本放在nib文件中不起作用,app以空字段开头。

- (IBAction) saveBtnPresssed : (id) sender
{
    myString1 = [[NSString alloc] initWithFormat:textField.text];
    [textField setText:myString1];
    NSUserDefaults *stringDefault = [NSUserDefaults standardUserDefaults];
    [stringDefault setObject:myString1 forKey:@"stringKey"];
     NSLog(@"%@",myString1);
}

2 个答案:

答案 0 :(得分:4)

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

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

在XCode中,单击要绑定的textField,然后打开Inspector。然后单击右侧的Tab秒。这是'绑定'标签

点击'值'上的下拉箭头。字段并检查'绑定到用户默认值...'

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

然后,无论何时在TextField中输入内容,它都将保存在应用程序出口上。如果您需要立即保存此值(仅在极少数情况下需要这样做),您可以在应用程序中输入以下代码:

[yourTextField synchronize];

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

希望这有帮助!

答案 1 :(得分:1)

双击故事板中的UITextField并输入默认值。

这适用于Xcode 5.1!

storyboard example