我尝试将UILabel
值保存到NSUserDefaults
。我用这段代码做了IBAction
:
-(IBAction)saveData:(id)sender {
NSString *resultString = label.text;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:resultString forKey:@"result"];
[prefs synchronize];
}
然后,我将其连接到Touch Up Inside
的按钮。
按下按钮后会显示什么日志:
result = 0;
当我第二次按下时,它会起作用。
result = "28.34";
我做错了什么以及如何检索结果?
修改
使用此代码我在日志中显示结果。我把它用于同样的行动。
NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
答案 0 :(得分:0)
您的代码看起来是正确的,因此问题可能不是您发布的功能,而是包含NSLog
的代码。您可能会以第一次设置错过的方式记录该值。
答案 1 :(得分:0)
您的日志声明应为
的NSLog(@ “%@”,[[NSUserDefaults的 standardUserDefaults] objectForKey:@ “结果”]);
这应该是在NSUserDefaults中设置对象之后。
答案 2 :(得分:0)
将此添加到appDelegate中的applicationDidFinishLaunching或viewController中的init方法(您必须创建一个):
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
if(prefs == nil)
{
[prefs setObject:@"anything" forKey:@"result"];
[prefs synchronize];
}