UserDefaultes 数据存储使用

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#import "RootViewController.h"

@interface
RootViewController ()

@end

@implementation
RootViewController

{

     UILabel *txtInteger;

     UILabel *txtFloat;

     UILabel *txtDouble;

     UILabel *txtNSString;

     UILabel *txtNSDate;

     UILabel *txtNSArray;

     UILabel *txtNSDictionary;

}

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

- (void)viewDidLoad

{

    [super
viewDidLoad];

    // Do any additional setup after loading the view.

    [self 
creatLable];

    [self
creatclearbtn];

    [self 
saveNSUserDefaults];

    [self 
readNSUserDefaults];

}

//保存数据到NSUserDefaults

-(void)saveNSUserDefaults

{

    

    int
myInteger = 1000;

    float
myFloat = 60.0f;

    double
myDouble = 30.0;

    

    NSString
*myString = @"我的字符";

    NSDate
*myDate = [NSDate
date];

    NSArray
*myArray = [NSArray
arrayWithObjects:@"hello", @"world",@"one",@"dream", nil];

    NSDictionary
*myDictionary = [NSDictionary
dictionaryWithObjects:[NSArray
arrayWithObjects:@"enuo", @"20", nil] forKeys:[NSArray
arrayWithObjects:@"name", @"age", nil]];

    

    //将上述数据全部存储到NSUserDefaults中

    NSUserDefaults
*userDefaults = [NSUserDefaults
standardUserDefaults];

    //存储时,除NSNumber类型使用对应的类型意外,其他的都是使用setObject:forKey:

    [userDefaults setInteger:myInteger forKey:@"myInteger"];

    [userDefaults setFloat:myFloat forKey:@"myFloat"];

    [userDefaults setDouble:myDouble forKey:@"myDouble"];

    [userDefaults setObject:myString forKey:@"myString11"];

    [userDefaults setObject:myDate forKey:@"myDate"];

    [userDefaults setObject:myArray forKey:@"myArray"];

    [userDefaults setObject:myDictionary forKey:@"myDictionary"];

    

    //这里建议同步存储到磁盘中,但是不是必须的

    [userDefaults synchronize];

    

}

//从NSUserDefaults中读取数据

-(void)readNSUserDefaults

{

    NSUserDefaults
*userDefaultes = [NSUserDefaults
standardUserDefaults];

    //读取数据到各个label中

    //读取整型int类型的数据

    NSInteger
myInteger = [userDefaultes integerForKey:@"myInteger"];

    txtInteger.text = [NSString
stringWithFormat:@"整形:%d",myInteger];

    

    //读取浮点型float类型的数据

    float
myFloat = [userDefaultes floatForKey:@"myFloat"];

    txtFloat.text = [NSString
stringWithFormat:@"浮点型:%f",myFloat];

    

    //读取double类型的数据

    double
myDouble = [userDefaultes doubleForKey:@"myDouble"];

    txtDouble.text = [NSString
stringWithFormat:@"%f",myDouble];

    

    //读取NSString类型的数据

    NSString
*myString = [userDefaultes stringForKey:@"myString11"];

    txtNSString.text = myString;

    

    //读取NSDate日期类型的数据

    NSDate
*myDate = [userDefaultes valueForKey:@"myDate"];

    NSDateFormatter
*df = [[NSDateFormatter
alloc] init];

    [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

    txtNSDate.text = [NSString
stringWithFormat:@"日期:%@",[df stringFromDate:myDate]];

    

    //读取数组NSArray类型的数据

    NSArray
*myArray = [userDefaultes arrayForKey:@"myArray"];

    NSString
*myArrayString = [[NSString
alloc] init];

    for(NSString
*str in myArray)

    {

        NSLog(@"str= %@",str);

        myArrayString = [NSString
stringWithFormat:@"%@  %@", myArrayString, str];

        [myArrayString stringByAppendingString:str];

        //        [myArrayString stringByAppendingFormat:@"%@",str];

        NSLog(@"myArrayString=%@",myArrayString);

    }

    txtNSArray.text = myArrayString;

    

    //读取字典类型NSDictionary类型的数据

    NSDictionary
*myDictionary = [userDefaultes dictionaryForKey:@"myDictionary"];

    NSString
*myDicString = [NSString
stringWithFormat:@"name:%@, age:%d",[myDictionary valueForKey:@"name"], [[myDictionary valueForKey:@"age"] integerValue]];

    txtNSDictionary.text = myDicString;

}

//清除数据UserDefaultes

-(void)ClearUserDefaultes

{

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

    [[NSUserDefaults 
standardUserDefaults]removePersistentDomainForName:appDomain];

    [self 
readNSUserDefaults];

}

//清除按钮

-(void)creatclearbtn

{

    UIButton  *btn=[UIButton  buttonWithType:UIButtonTypeRoundedRect];

    btn.frame=CGRectMake(100, 400, 100, 30);

    [btn setTitle:@"清除"
forState:UIControlStateNormal];

    btn.backgroundColor=[UIColor  yellowColor];

    [self.view  addSubview:btn];

    [btn  addTarget:self
action:@selector(ClearUserDefaultes) forControlEvents:UIControlEventTouchDown];

}

//创建Label

-(void)creatLable

{

    txtInteger=[[UILabel  alloc]initWithFrame:CGRectMake(0, 40, 200, 30)];

    txtInteger.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtInteger];

    

    txtFloat=[[UILabel  alloc]initWithFrame:CGRectMake(0,80, 200, 30)];

    txtFloat.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtFloat];

    

    txtDouble=[[UILabel  alloc]initWithFrame:CGRectMake(0, 120, 200, 30)];

    txtDouble.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtDouble];

    

    txtNSString=[[UILabel  alloc]initWithFrame:CGRectMake(0, 160, 200, 30)];

    txtNSString.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtNSString];

    

    txtNSDate=[[UILabel  alloc]initWithFrame:CGRectMake(0, 200, 200, 30)];

    txtNSDate.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtNSDate];

    

    txtNSArray=[[UILabel  alloc]initWithFrame:CGRectMake(0, 240, 200, 30)];

    txtNSArray.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtNSArray];

    

    txtNSDictionary=[[UILabel  alloc]initWithFrame:CGRectMake(0, 280, 200, 30)];

    txtNSDictionary.backgroundColor=[UIColor  brownColor];

    [self.view  addSubview:txtNSDictionary];

}

 

 

UserDefaultes 数据存储使用,布布扣,bubuko.com

时间: 2024-10-05 05:31:59

UserDefaultes 数据存储使用的相关文章

NSUserDefaults(数据存储)

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯. 因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了. NSUserDefaults支持的数据格式有:NSNumber(Integer.Float

IOS中NSUserDefaults的用法(轻量级本地数据存储) (转)

NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息咯. 因为如果使用自己建立的plist文件什么的,还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了. NSUserDefaults支持的数据格式有:NSNumber(Integer.Float

使用文件进行数据存储四种模式

视频笔记: 1.应用包名:唯一标识一个应用 2.使用文件进行数据存储: (1)Context.MODE_PRIVATE: 默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_APPEND (2)Context_APPEND:只能被应用本身访问:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件. Context_WORLD_READABLE和Context_WORLD_

Android——数据存储(四种方式之一)SharedPrefereces

Android--数据存储(四种方式) 1.SharedPrefereces   轻量级.XML  存储文件名,数据保存在data/data/basepackage/shared_prefs/myopt.xml中   实例-收藏-记住密码自动登录 //一种轻量级的数据存储方式//通过KEY 存入数据--putxxxx(key,value) 取出数据--getxxxx(key  default)   2.读写SD卡  SD的根目录  适用于数据流读写 3.SQLite  轻量级.dp文件多用于手机

HBase介绍(2)---数据存储结构

在本文中的HBase术语:基于列:column-oriented行:row列组:column families列:column单元:cell 理解HBase(一个开源的Google的BigTable实际应用)最大的困难是HBase的数据结构概念究竟是什么?首先HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式. Google's BigTable论文 清楚地解释了什么是BigTable:Bigtable是一个疏松的分布式的

Google Earth数据存储、管理、表现及开发机制

一.    Google Earth(Map)介绍 1.1    Google Earth介绍 在众多的地理信息服务提供商中,Google是较早提供服务的一个,其他有如ESRI这样的巨头,也有中国的灵图.但凭借着提供优质.高效.高性价比服务的理念和Google自身的巨大影响力,Google推出的Google Earth和Google Map平台已经成为全球影响力最大的互联网空间信息服务平台. Google Earth具有十分突出的三个特点[1],一是可以显示矢量数据地标,包括点.线.面等几何类型

Redis数据存储解决方案

1.背景1.1 Redis简介 官方网站:http://redis.io/,Redis是REmote DIctionary Server的缩写. Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.它跟 memcached 类似,不过数据可以持久化,而且支持的数据类型很丰富.它在保持键值数据库简单快捷特点的同时,又吸收了部分关系数据库的优点.从而

数据存储的常用结构 堆栈、队列、数组、链表

数据存储的常用结构有:堆栈.队列.数组.链表.我们分别来了解一下: 堆栈,采用该结构的集合,对元素的存取有如下的特点: 先进后出(即,存进去的元素,要在后它后面的元素依次取出后,才能取出该元素).例如,子弹压进弹夹,先压进去的子弹在下面,后压进去的子弹在上面,当开枪时,先弹出上面的子弹,然后才能弹出下面的子弹. 栈的入口.出口的都是栈的顶端位置 压栈:就是存元素.即,把元素存储到栈的顶端位置,栈中已有元素依次向栈底方向移动一个位置. 弹栈:就是取元素.即,把栈的顶端位置元素取出,栈中已有元素依次

性能优化之数据存储&DOM编程

数据存储 ·在javascript中,数据存储的位置会对代码整体性能产生重大的影响. ·数据存储共有4种方式:字面量.变量.数组.对象成员. ·要理解变量的访问速度,就要理解作用域.由于局部变量处于作用域的起始位置,因此访问速度比访问跨域作用域变量(即除起始位置之外的外层作用域变量)更快.即变量处在作用域的位置越深,访问速度越慢.这也就说明,访问全局变量的速度是最慢的. 总的来说,字面量和局部变量的访问速度快于数组和对象成员的访问速度. 因此,常见的一些提高数据访问速度的方法有: ①避免使用wi