iPhone将NSUserDefaults输入到UITextField中

时间:2010-05-11 23:42:47

标签: iphone uitextfield nsuserdefaults

我正在编写一个程序,我在第一次用户运行它时 - 他们必须填写大约10个不同的UITextField。我试图保存字段,以便在程序的后续运行中,它们之前放置的任何内容都已经显示在那些UITextField中,因此不必重新输入它 - 除非他们想要编辑某些东西,在这种情况下他们仍然有那个选择。我认为我已经想出了一个使用NSUserDefaults保存字符串的好方法,但现在我想弄清楚如何让这些字段填充UITextField - 它看起来并不像UILabels那么容易。这是我尝试的路线:

// in the viewDidLoad portion.
NSUserDefaults *userData = [NSUserDefaults standardUserDefaults]; //Hooks.
NSString *placeHolderName = [userData stringForKey:@"name"];

txtName.text = @"%@", placeHolderName;

当我这样做时,它只是在文本字段中显示'%@'。我希望placeHolderName保存的任何变量都自动放入该UITextField中。这可能吗?

2 个答案:

答案 0 :(得分:3)

只需使用:

txtName.text = placeHolderName;

txtName.text = [NSString stringWithFormat:@"%@", placeHolderName];

在代码中,您现在意外地使用Comma operator来评估其第一个表达式(txtName.text = @“%@”),丢弃结果并返回第二个(placeHolderName)

答案 1 :(得分:0)

如果我尝试在viewDidLoad中设置UITextField的文本,则UITextField始终为nil,因此没有任何反应。什么时候应该

txtName.text = placeHolderName 
如果我需要在UIViewController加载时用默认值填充文本字段,那么

被调用?