• userDefaults


    //
    //  RootViewController.m
    
    #import "RootViewController.h"
    
    @interface RootViewController ()
    {
        NSMutableArray * dataSource;
    }
    @end
    
    @implementation RootViewController
    
    -(void)createUI
    {
        NSArray * arr = @[@"NSNumber数据:",@"integer:",@"float:",@"double:",@"NSString数据:",@"NSDate数据:",@"NSArray数据:",@"NSDictionary数据:"];
        for(int i = 0;i<[arr count];i++)
        {
            UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0, 70 + 40 * i, 140, 30)];
            label.text = arr[i];
            label.textAlignment = NSTextAlignmentRight;
            [self.view addSubview:label];
            [label release];
        }
        for(int i = 1;i<[arr count];i++)
        {
            UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(145, 70 + 40 * i, 170, 30)];
            label.tag = i;
            label.textAlignment = NSTextAlignmentLeft;
            label.backgroundColor = [UIColor cyanColor];
            [self.view addSubview:label];
            [label release];
        }
    }
    //向userDefaults里面写入数据
    -(void)writeUserDefaults
    {
        NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
        NSInteger i = 100;
        float f = 50.0f;
        double d = 1000.0;
        NSString * string = @"字符串";
        NSArray * arr = @[@"hello",@"world"];
        NSDictionary * dic = @{@"name":@"test",@"age":@"19"};
        NSDate * date = [NSDate date];
        //存入的数据 无论是可变的还是不可变的 读出来以后都是不可变的数据
        
        [defaults setInteger:i forKey:@"int"];
        [defaults setFloat:f forKey:@"float"];
        [defaults setDouble:d forKey:@"double"];
        //基本类型的数据存放在userDefaults以后都会自动转化成NSNumber
        [defaults setObject:string forKey:@"string"];
        [defaults setObject:arr forKey:@"array"];
        [defaults setObject:dic forKey:@"dic"];
        [defaults setObject:date forKey:@"date"];
        //写入磁盘
        [defaults synchronize];
    }
    //读数据
    -(void)readUserDefaults
    {
        NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
        dataSource = [[NSMutableArray alloc]init];
        NSString * intStr = [NSString stringWithFormat:@"%@",[defaults objectForKey:@"int"]];
        NSString * floatStr = [NSString stringWithFormat:@"%f",[defaults floatForKey:@"float"]];
        NSString * doubleStr = [NSString stringWithFormat:@"%lf",[defaults doubleForKey:@"double"]];
        NSString * stringStr = [defaults objectForKey:@"string"];
        
        NSArray * arr = [defaults objectForKey:@"array"];
        NSString * arrStr = [arr componentsJoinedByString:@" "];
        
        NSDictionary * dic = [defaults objectForKey:@"dic"];
        NSString * dicStr = [NSString stringWithFormat:@"name:%@,age:%@",[dic objectForKey:@"name"],[dic objectForKey:@"age"]];
        
        
        NSDate * date = [defaults objectForKey:@"date"];
        NSDateFormatter * formatter = [[NSDateFormatter alloc]init];
        formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
        NSString * dateStr = [formatter stringFromDate:date];
        [formatter release];
        
        [dataSource addObject:intStr];
        [dataSource addObject:floatStr];
        [dataSource addObject:doubleStr];
        [dataSource addObject:stringStr];
        [dataSource addObject:dateStr];
        [dataSource addObject:arrStr];
        [dataSource addObject:dicStr];
        
    }
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        self.navigationItem.title = @"UserDefualts的用法";
        self.view.backgroundColor = [UIColor brownColor];
        UIBarButtonItem * item = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(pressBarBtn:)];
        self.navigationItem.rightBarButtonItem = item;
        [item release];
        [self createUI];
        
        [self writeUserDefaults];
        [self readUserDefaults];
    
    }
    -(void)pressBarBtn:(id)sender
    {
        //查找沙盒目录的路径
        NSArray * arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString * path = [arr objectAtIndex:0];
        NSLog(@"%@",path);
        
        for(int i = 0;i<[dataSource count];i++)
        {
            UILabel * lable = (UILabel *)[self.view viewWithTag:i + 1];
            lable.text = dataSource[i];
        }
    }
    
    @end
  • 相关阅读:
    大三寒假第十四天
    大三寒假第十一天
    大三寒假第十二天
    SparkSQL 通过jdbc连接数据库/通过hive读写数据
    bootstrapfileinput上传控件
    信用卡评分模型(五)
    “元宇宙”是什么?它到底有哪些大招?
    如何学习游戏引擎?
    Web开发的26项基本概念和技术总结
    游戏引擎开发和游戏客户端开发有什么区别?
  • 原文地址:https://www.cnblogs.com/sayimba/p/5672806.html
Copyright © 2020-2023  润新知