NSUserDefault

时间:2023-12-30 10:59:38

NSUserDefault是Cocoa提供的默认应用程序状态保持接口。它提供了简化的plist文件持久化方法。通过NSUserDefault类,你可以把用户首选项保存到plist文件中。到应用程序结束,这些数据依然存在,并可在应用程序启动时,再次吧上次运行的状态显示到应用程序中(NSUserDefault把plist文件存储到沙盒中的Library/Preference目录下,这个plist文件一直存在,知道你删除应用程序)

1.获取UserDefaults

要想获取到一个UserDefault,最简单的方法是获取到一个应用程序共享实例(单例):

+(NSUserDefaults *)standardUserDefaults

如果不想使用共享的UserDefaults对象,可以在alloc之后实例化自己的NSUserDefaults:

-(id)init

-initWithUser:(NSString *)username

前者使用当前用户账号实例化NSUserDefaults,后者可以用某个指定的用户账号实例化NSUserDefaults(这个方法在ios中无效)

2.在UserDefaults中保存值

在UserDefaults中保存值,需要调用setX:forkey;方法。Default实际上依然是一个plist文件,每一个值都有一个唯一的key,对值的存取是依据key来进行的,setX中的X是值的类型,如BOOL,float,integer等。

NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

[user setObject:weekArray forKey:@"week"];

[user setObject:typeArray forKey:@"type"];

[user setObject:hightempArray forKey:@"hightemp"];

[user setObject:lowtempArray forKey:@"lowtemp"];

[user synchronize];

3.删除UserDefaults值

-removeObjectForKey;

4.读取UserDefaults

NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

NSArray *low = [user objectForKey:@"lowtemp"];

NSArray *high = [user objectForKey:@"hightemp"];

NSArray *hello = [user objectForKey:@"week"];

NSArray *koooo = [user objectForKey:@"type"];