美文网首页
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