使用NSUserDefaults保存和检索UILabel值

时间:2011-05-18 17:44:32

标签: iphone save uilabel nsuserdefaults

我尝试将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]);

3 个答案:

答案 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];  
}