原文:http://blog.sina.com.cn/s/blog_9da803060100xsq6.html
1、NSUserDefaults数据存储的位置
NSUserDefaults用于保存iPhone程序的数据,使用非常方便。
那么这些数据最终存放在什么地方呢?存放于一个plist文件中。这个文件位于
<UUID for yourApp>\Library\Preferences\<your App"sbundle ID>.plist
2、得到用户的首选语言
//得到用户缺省值
NSUserDefaults* defs = [NSUserDefaults standardUserDefautls];
//在缺省值中找到AppleLanguages, 返回值是一个数组
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
//在得到的数组中的第一个项就是用户的首选语言了
NSString* preferredLang = [languages objectAtIndex:0];
3、比如存入再读出一个字符串到NSUserDefaults:
NSString[ud
但是并不是所有的东西都能往里放的。NSUserDefaults只支持: NSString, NSNumber, NSDate,NSArray, NSDictionary.
三、NSUserDefaults的使用
1、创建一个user defaults方法有多个,最简单得快速创建方法:
NSUserDefaults *accountDefaults = [NSUserDefaultsstandardUserDefaults];
2、添加数据到 user defaults:
[accountDefaults setObject:nameField.textforKey:UserDefaultNameKey];
也可以添加基本数据类型int, float, bool等,有相应得方法
[accountDefaults setBool:YES forKey:UserDefaultBoolKey];
3、从user defaults中获取数据:
[accountDefaults objectForKey:NCUserDefaultNameKey]
[accountDefaults boolForKey: UserDefaultBoolKey];
要点:NSUserDefaults非常好用,并不需要用户在程序中设置NSUserDefaults的全局变量,需要在哪里使用NSUserDefaults的数据,那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。
类方法
resetStandardUserDefault s
同步对共享对象的任何更改默认用户和从内存中释放它。
standardUserDefaults
返回共享默认对象。
+(NSUserDefaults *)standardUserDefaultsaddSuiteNamed:
插入到接收器的搜索列表中指定的域名。
-(void)addSuiteNamed:( NSString *) suiteNamearrayForKey:
返回与指定键相关联的数组。
- ( NSArray *)arrayForKey:( NSString *) defaultNameboolForKey:
返回布尔值与指定键相关联。
-(BOOL)boolForKey:( NSString *) defaultNamedataForKey:
返回数据对象与指定键相关联。
- ( NSData *)dataForKey:( NSString *) defaultNamedictionaryForKey:
返回Dictionary对象与指定键相关联。
- ( NSDictionary *)dictionaryForKey:( NSString *) defaultNamedictionaryRepresentation
返回一个字典,它包含在搜索列表中的域的所有键值对联盟。( NSData
,NSString
,NSNumber
, NSDate
, NSArray
,或NSDictionary
)
removeObjectForKey:
消除了在标准应用程序域指定的默认键值。
removePersistentDomainFo rName:
删除指定的从用户的默认持久域的内容。
setBool:forKey:
设置指定的默认键到指定的布尔值。
setObject:forKey:
setPersistentDomain:forName:
.设置为指定的字典持久域。
setURL:forKey:
设置指定的默认键到指定的URL值。
setVolatileDomain:的forName:
设置为指定的字典挥发性域。
stringArrayForKey:
返回与指定键关联的字符串数组。
doubleForKey:
返回double值与指定键相关联。
-(double)doubleForKey:( NSString *) defaultNamefloatForKey:
返回浮点值与指定键相关联。