NSUserDefault使用

Apple官方说明

NSUserDefault 是什么?

个人理解使用户保存一些用户习惯,用于轻量级数据的持久话,比如用户登录名,密码之类。这些信息会以plist文件的形式保存下来。对于ios这部分数据可能保存在app沙盒目录下,但是在Mac平台下,这部分数据保存在用户目录下的:“~/资源库/Preferences/”以app的bunld ID为文件名的plist文件。

可以保存那些数据?

NSUserDefaults单例以key-value的形式存储了一系列偏好设置,key是名称,value是相应的数据。存/取数据时可以使用方法objectForKey:和setObject:forKey:来把对象存储到相应的plist文件中,或者读取,既然是plist文件,那么对象的类型则必须是plist文件可以存储的类型:

NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary

比如存/读一个整数、字符串和一张图片:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

[defaults setObject:@”Duke-Pang“ forKey:@"userName"];

[defaults setInteger:10 forKey:@"Age"];

UIImage *image =[UIImage imageNamed:@"somename"];

NSData *imageData = UIImageJPEGRepresentation(image, 100);//把image归档为NSData

[defaults setObject:imageData forKey:@"image"];

[defaults synchronize];

如何删除?

1. 代码删除单个

NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];

[userDefaults removeObjectForKey:@"userName"];

[userDefaults synchronize];

2. 代码清除所有

NSString *appDomain =[[NSBundle mainBundle]bundleIdentifier];

[[NSUserDefaults standardUserDefaults]removePersistentDomainForName:appDomain];

3. 手动删除plist文件

删除“~/资源库/Preferences/bundle ID.plist”, 这个时候电脑需要重启。


简单介绍就说这些吧,其他使用方式,网上一搜一大把。

你可能感兴趣的:(NSUserDefault使用)