`

how to use Using NSUserDefaults

阅读更多
Using NSUserDefaults

Here is a quick reference for some of the things you can do with 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"];


Clearing NSUserDefaults
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"defunctPreference"];




- (NSUserDefaults *) loadUserSettings:(NSString *)aKey

{

// Load user settings

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];

if (![settings stringForKey:aKey])

{

// The settings haven't been initialized, so manually init them based

// the contents of the the settings bundle

NSString *bundle = [[[NSBundle mainBundle] bundlePath]

stringByAppendingPathComponent:@"Settings.bundle/Root.plist"];

NSDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:bundle]

objectForKey:@"PreferenceSpecifiers"];

NSMutableDictionary *defaults = [NSMutableDictionary new];

// Loop through the bundle settings preferences and pull out the key/default pairs

for (NSDictionary* setting in plist)

{

NSString *key = [setting objectForKey:@"Key"];

if (key)

[defaults setObject:[setting objectForKey:@"DefaultValue"] forKey:key];

}

// Persist the newly initialized default settings and reload them

[settings setPersistentDomain:defaults forName:[[NSBundle mainBundle] bundleIdentifier]];

settings = [NSUserDefaults standardUserDefaults];

}

return settings;

}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics