Search This Blog

Monday, September 13, 2010

NSUserDefaults


Saving
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// saving an NSString
[prefs setObject:@"TextToSave" forKey:@"keyToLookupString"];
// saving an NSInteger
[prefs setInteger:42 forKey:@"integerKey"];
// saving a Double
[prefs setDouble:3.1415 forKey:@"doubleKey"];
// saving a Float
[prefs setFloat:1.2345678 forKey:@"floatKey"];
// This is suggested to synch prefs, but is not needed (I didn't put it in my tut)
[prefs synchronize];
Retrieving
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting an NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
// getting an NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];
// getting an Float
float myFloat = [prefs floatForKey:@"floatKey"];


NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
@"", kDefaultsUsernameKey,
@"", kDefaultsPasswordKey,
nil];

[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
[[NSUserDefaults standardUserDefaults] synchronize];

1 comment:

  1. How to Add an array to the NSUserDefaults??

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSMutableArray *arr = ... ; // set value

    NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];

    [defaults setObject:data forKey:@"theKey"];

    Load:

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSData *data = [defaults objectForKey:@"theKey"];

    NSArray *arr = [NSKeyedUnarchiver unarchiveObjectWithData:data];

    ReplyDelete