我正在编写一个程序,我在第一次用户运行它时 - 他们必须填写大约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中。这可能吗?
答案 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加载时用默认值填充文本字段,那么被调用?