简体   繁体   中英

Restoring value in NSUserDefault

I have stored my initial set up values using NSUserDefault like this...

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];

And I retrieved as ....

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];

But I am not getting the last value, Am I doing anything wrong.

For retrieved the NSUserDefaults Value , replace the objectForKey to 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];

This should do the trick for you, extract boolValue from the returned value

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];

hope it helps. happy coding :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM