​http://www.istar.name/blog/use-nsuserdefaults​

上边的原网站,可以国内的一部分人访问不了,好像是被墙了,我要番樯才能看到。

NSUserDefaults可以存取一些短小的信息。

NSUserDefaults standardUserDefaults用来记录一下永久保留的数据非常方便,不需要读写文件,而是保留到一个NSDictionary字典里,由系统 保存到文件里,系统会保存到该应用下的/Library/Preferences/.plist文件中,并不是所有的东西都能往里放的,只支持:NSString, NSNumber, NSDate, NSArray, NSDictionary,详细方法可以查看类文件.
需要注意的是如果程序意外退出,NSUserDefaults standardUserDefaults数据不会被系统写入到该文件,不过可以使用[[NSUserDefaults standardUserDefaults] synchronize]命令直接同步到文件里,来避免数据的丢失.

用法非常的简单,比如存入数据到NSUserDefaults

//Bool
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:YES forKey:@
"switchValue"
];

//String
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:@
"star"
forKey:@
"inputValue"
];


读取NSUserDefaults中的数据:

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
BOOL
sw = [userDefaults boolForKey:@
"switchValue"
];

NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *str = [userDefaults stringForKey:@
"inputValue"
];这是另一个相关的东西:
​​NSUserDefaults用法​​
NSString *sessionId = @"123";
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:sessionId forKey:@"sessionID"];
[defaults synchronize];

NSString *value;
value = [defaults objectForKey:@"sessionID"]; //获取值


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"];
NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.