转自: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中的数据:
这是另一个相关的东西: 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 // saving an NSInteger // saving a Double // saving a Float // This is suggested to synch prefs, but is not needed (I didn't put it in my tut) Retrieving NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; // getting an NSString // getting an NSInteger // getting an Float NSUserDefaults只支持: NSString, NSNumber, NSDate, NSArray, NSDictionary.
|