在NSUserDefault中恢复值

时间:2012-08-31 06:09:04

标签: iphone objective-c ios xcode cocoa-touch

我已经使用像这样的NSUserDefault存储了我的初始设置值......

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setBool:is_remember_chkd forKey:remember_me.titleLabel.text]; // Button text as key
[defaults setBool:is_signin_auto_chkd forKey:signin_automatic.titleLabel.text];
[defaults setBool:is_signin_secret_chkd forKey:signin_secret.titleLabel.text];
[defaults synchronize];

我检索了......

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
is_remember_chkd = [defaults objectForKey:remember_me.titleLabel.text];
is_signin_auto_chkd = [defaults objectForKey:signin_automatic.titleLabel.text];
is_signin_secret_chkd = [defaults objectForKey:signin_secret.titleLabel.text];

但我没有得到最后的价值,我做错了什么。

2 个答案:

答案 0 :(得分:4)

要检索NSUserDefaults值,请将 objectForKey替换为boolForKey。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
is_remember_chkd = [defaults boolForKey:remember_me.titleLabel.text];
is_signin_auto_chkd = [defaults boolForKey:signin_automatic.titleLabel.text];
is_signin_secret_chkd = [defaults boolForKey :signin_secret.titleLabel.text];

答案 1 :(得分:0)

这应该可以帮到你,从返回值中提取boolValue

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
is_remember_chkd = [[defaults objectForKey:remember_me.titleLabel.text] boolValue];
is_signin_auto_chkd = [[defaults objectForKey:signin_automatic.titleLabel.text] boolValue];
is_signin_secret_chkd = [[defaults objectForKey:signin_secret.titleLabel.text] boolValue];
希望它有所帮助。快乐的编码:)