UserDefault

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    //分组按钮
    UISegmentedControl* seg = [[UISegmentedControl alloc] init] ;
    seg.frame = CGRectMake(50, 160, 220, 40);
    seg.backgroundColor = [UIColor orangeColor];
    [seg insertSegmentWithTitle:@"写入数据" atIndex:0 animated:NO] ;
    [seg insertSegmentWithImage:[UIImage imageNamed:@"2"] atIndex:0 animated:YES];
    [seg insertSegmentWithTitle:@"读出数据" atIndex:1 animated:NO] ;
    [seg setBackgroundImage:[UIImage imageNamed:@"2"] forState:UIControlStateSelected barMetrics:UIBarMetricsDefault];
    [seg addTarget:self action:@selector(segChange:) forControlEvents:UIControlEventValueChanged] ;
    [self.view addSubview:seg] ;
}



-(void) segChange:(UISegmentedControl*) seg
{
    //写入数据
    if (seg.selectedSegmentIndex == 0)
    {
        //获取用户默认数据对象
        //储存用户的某些小型数据,例如用户名,好友列表......
        //单例模式:standardUserDefaults获得整个项目中唯一的数据存储对象
        NSUserDefaults* ud = [NSUserDefaults standardUserDefaults] ;
        //存入一个字符串
        [ud setObject:@"张1231" forKey:@"name01"] ;
        //存入一个整形对象
        [ud setInteger:25 forKey:@"age"] ;
        [ud setBool:YES forKey:@"sex"] ;
        
        //创建数组,数据内容为字符串
        NSArray* array = [NSArray arrayWithObjects:@"1001",
                          @"1002",
                          @"1003", nil] ;
        //array数组中的内容为NSString,NSNumber
        [ud setObject:array forKey:@"array"] ;
        //将数据从内存写入硬盘文件中
        [ud synchronize] ;//同步
        NSLog(@"读入数据");
    }
   
    //读出数据
    else if(seg.selectedSegmentIndex ==1)
    {
        //启动程序时,如果默认数据文件中有数据
        //先将数据读入到内存中
        NSUserDefaults* ud = [NSUserDefaults standardUserDefaults] ;
        
        NSString* name = [ud objectForKey:@"name01"] ;
        NSInteger age = [ud integerForKey:@"age"] ;
        BOOL sex = [ud boolForKey:@"sex"] ;
        
        NSArray* array = [ud objectForKey:@"array"] ;
       
        NSLog(@"获取数据");
        NSLog(@"sex = %d",sex);
        NSLog(@"name = %@",name) ;
        NSLog(@"age = %ld",age) ;
        NSLog(@"array = %@",array);
        
    }
}


你可能感兴趣的:(UserDefault)