我使用以下代码从UITextField保存了一些输入:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:myTextField.text forKey:@"myTextFieldKey"];
[defaults synchronize];
我想在另一个视图控制器的UILabel上显示这个保存的文本。
我试过了:
myLabel.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"myTextFieldKey"];
但没有显示。对此的任何帮助都会很棒。感谢。
答案 0 :(得分:4)
加载和保存代码是正确的,所以看起来问题就是其他问题。
试试这个来调试:
NSString *aValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"myTextFieldKey"];
NSLog(@"Value from standardUserDefaults: %@", aValue);
NSLog(@"Label: %@", myLabel);
myLabel.text = aValue;
现在,您将看到是否设置了NSUserDefaults
中的值检索器,以及标签是否已被绑定。
答案 1 :(得分:3)
[[NSUserDefaults standardUserDefaults] setValue:myTextField.text forKey:@"myTextFieldKey"];
[[NSUserDefaults standardUserDefaults] synchronize];
之后使用 valueForKey 而不是objectForKey
:
myLabel.text = [[NSUserDefaults standardUserDefaults] valueForKey:@"myTextFieldKey"];
答案 2 :(得分:1)
尝试:
myLabel.text = [[NSUserDefaults standardUserDefaults] stringForKey:@"myTextFieldKey"];
答案 3 :(得分:1)
检查myTextField
和myLabel
是否为零。