mardi 5 mai 2015

How to save fields correctly with NSUserDefaults?

I'm creating a program that saves a String from one text field and an integer from a second text field. I am trying to use NSUserDefaults, but I can't seem to get either of them to save correctly when I run the program. It crashes when I press the save button with the breakpoint while handling the NSUserDefaults. Am I doing something wrong? I skimmed through the documentation, but it didn't help. Can I even use 2 different instances of NSUserDefaults?

- (IBAction)save:(id)sender {
//Save stuff fropm textfields
NSString* name = _nameText.text;
NSInteger count = [[_countText.text] intValue];

//Save string
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:name forKey:@"name"];
[defaults synchronize];

//Save int
NSUserDefaults* defaults2 = [NSUserDefaults standardUserDefaults];
[defaults2 setInteger:count forKey:@"count"];
[defaults2 synchronize]; }


- (IBAction)load:(id)sender {
//Load stuff from NSUserDefaults
NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSString* loadstring = [defaults objectForKey:@"name"];
_nameText.text =  loadstring;

NSUserDefaults* defaults2 = [NSUserDefaults standardUserDefaults];
NSInteger loadint = [defaults2 integerForKey:@"count"];
_countText.text = [NSString stringWithFormat:@"%li", (long)loadint];}

Aucun commentaire:

Enregistrer un commentaire