美文网首页
IOS NSUserDefaults 数据缓存使用教程

IOS NSUserDefaults 数据缓存使用教程

作者: xq9527 | 来源:发表于2021-08-16 15:27 被阅读0次

前言:

各位同学大家好 有段时间没有给大家更新文章 OS NSUserDefaults 数据缓存使用教程 就想着分享给大家 希望能帮助到各位同学的学习和工作, 那么废话不多说 我们正式开始

准备工作

安装xcode 这个大家·可以自己去appstore 搜索下载即可


image.png

具体实现

- (void)viewDidLoad {
    [super viewDidLoad];
    UIButton * btn= [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame=CGRectMake(100, 100, 80, 40);
    [btn setTitle:@"写入文件" forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(pressWrite) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
   
    UIButton * btnRead =[UIButton buttonWithType:UIButtonTypeRoundedRect];
    btnRead.frame=CGRectMake(100, 200, 80, 40);
    [btnRead setTitle:@"读取文件" forState:UIControlStateNormal];
    [btnRead addTarget:self action:@selector(presRead) forControlEvents:UIControlEventTouchUpInside];
    
    [self.view addSubview:btnRead];

}

我们写了一个2个 button 添加到ViewController中来模拟数据的写入和读取

  • 写入数据

//写入数据
-(void)pressWrite{
    //定义一个用户默认的对象
    //不需要alloc  创建 用户默认数据对象的单例模式
    //standardUserDefaults  获取全局唯一的实力对象
    NSUserDefaults * ud = [NSUserDefaults standardUserDefaults];
    
    //存储字符串对象
    //可以将对象存储到文件中
    //p1 要存储的的对象 id
    //P2 对象的名字 key :NSString
    [ud setObject:@"徐庆" forKey:@"name"];
    
    //存储数据对象
    //只能存储能够文件化的对象
    
    NSNumber * num =[NSNumber numberWithInt:100];
    [ud setObject:num forKey:@"NUM"];
   //不能存储不能文件化的对象
   // [ud setObject:self.view forKey:@"VIEW"];
    //存储整型数据
    [ud  setInteger:123 forKey:@"INT"];
    //存储布尔值
    [ud setBool:YES forKey:@"BOOL"];
    //存储浮点型数据
    [ud setFloat:1.555 forKey:@"FLOAT"];
    //创建一个可以文件化的数组
    NSArray *  array=[NSArray arrayWithObjects:@"11",@"22",@"33", nil];
    [ud setObject:array forKey:@"ARRAY"];
    [ud removeObjectForKey:@"ARRAY"];
}
  • 读取数据

//读取数据
-(void)presRead{
    NSUserDefaults * ud =[NSUserDefaults standardUserDefaults];
    
    id object = [ud objectForKey:@"name"];
    
    NSString * name=(NSString*) object;
    NSLog(@"name =  %@", name);
    object= [ud  objectForKey:@"NUM"];
    
    NSNumber * num =(NSNumber *)object;
    
    NSLog(@"num  =%@",num);
    NSInteger iV=[ud  integerForKey:@"INT"];
    NSLog(@"iV =%ld", iV);
    BOOL bV=[ud boolForKey:@"BOOL"];
    float fV= [ud  floatForKey:@"FLOAT"];
    NSLog(@"bV =%d",bV);
    NSLog(@"fV =%f", fV);
    NSArray *  array=[ud objectForKey:@"ARRAY"];
    NSLog(@"array = %@",array);
}
  • 删除指定key的缓存数据

  [ud removeObjectForKey:@"ARRAY"];
  • 测试日志

image.png

相关文章

网友评论

      本文标题:IOS NSUserDefaults 数据缓存使用教程

      本文链接:https://www.haomeiwen.com/subject/slueultx.html