Does anyone know how I would go about saving my high score integer to NSUserDefaults so I can load it later?
[[NSUserDefaults standardUserDefaults] setInteger:HighScore forKey:@"HighScore"];
… to get it back:
NSInteger highScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScore"];
This is explained very simply in the documentation.
More generally, you can save Foundation class objects to the user defaults, e.g.:
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithInt:highScore] forKey:@"kHighScore"];
and
NSInteger highScore = [[[NSUserDefaults standardUserDefaults] objectForKey:@"kHighScore"] intValue];
But the convenience method is there for taking in an NSInteger
directly.
I prefer to use the more agnostic -setObject:
and -objectForKey:
because it more cleanly separates the object type from access to the dictionary.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With