【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比

以下内容为原创,欢迎转载,转载请注明

来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3405308.html

有Android开发经验的朋友对SharedPreference的用法应该比较亲切的吧,它一般用来保存和读取用户的设置参数,比如保存用户名、加密后的登录密码,是否选择了自动登录,应用选择了哪一套主题皮肤等用户配置信息,使用也非常简单,put/get就能保存/读取这个配置文件,这个文件是用xml形式保存在应用的目录下面

在ios中,也有这么一个类似的工具——NSUserDefault,它支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型。它是存储在/Library/Prefereces里面,有个plist文件。

下面,我们写一个demo来测试下:

界面很简单,两个button,一个label

点击第一个button用来保存数据,点击第二个button用来显示数据到label

代码如下:

 1 - (IBAction)buttonClicked:(id)sender {

 2     switch ([sender tag]) {

 3         case 1: // 保存数据

 4             [self saveData];

 5             break;

 6         case 2: // 显示数据

 7             [self showData];

 8             break;

 9             

10         default:

11             break;

12     }

13 }

14 

15 

16 - (void)saveData

17 {

18     NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];

19     

20     [userDef setObject:@"wangjie" forKey:@"name"];

21     [userDef setInteger:23 forKey:@"age"];

22     [userDef setBool:YES forKey:@"isAutoLogin"];

23     [userDef setDouble:115.0 forKey:@"weight"];

24     [userDef setFloat:171.2 forKey:@"height"];

25     

26     [userDef synchronize];

27     NSLog(@"save success!");

28 }

29 

30 - (void)showData

31 {

32     NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];

33     NSString *content = [NSString stringWithFormat:@"name: %@; age: %d; isAutoLogin: %hhd; weight: %f; height: %f",

34                          [userDef stringForKey:@"name"],

35                          [userDef integerForKey:@"age"],    

36                          [userDef boolForKey:@"isAutoLogin"],

37                          [userDef doubleForKey:@"weight"],

38                          [userDef floatForKey:@"height"]

39                          ];

40     

41     [[self showLb] setText:content];

42     NSLog(@"%@", [[self showLb] text]);

43 }

一:启动应用程序后直接点击第二个button,因为数据之前没有被保存,所以显示的数据都是默认的数据:

【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比

二:点击第一个button(数据会被插入),再点击第二个button(已有数据可以显示),此时情况如下:

【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比

 

你可能感兴趣的:(Preference)