- (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); } }