zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    android 自动化压力测试-monkey 3 命令参数
    android 自动化压力测试-monkey 2 获取程序包名
    Mysql清空表(truncate)与删除表中数据(delete)的区别
    Ubuntu下安装Navicat+mysql的各种utf-8设置
    Python——连接MongoDB
    数据库——MongoDB
    Linux——shell脚本编程2
    Linux——shell脚本编程
    centos中创建python虚拟环境(virtualenv)
    阿里云centos7下的nginx配置
  • 原文地址:https://www.cnblogs.com/sayimba/p/5672806.html
Copyright © 2011-2022 走看看