【发布时间】:2016-06-09 05:23:05
【问题描述】:
我想做一个简单的应用程序,病人可以选择预约数据。
单击按钮后,我使用按钮显示每个数据。按钮将禁用,因此用户不能多次选择同一个按钮。我要将按钮的标签(我的标签代表从 1 到 31 的 DATA)存储在数组中,然后这个数组存储在 NSUserDefaults。
现在我的问题是,当下次用户来时,所有按钮都已启用,但我想禁用那些已经选择的按钮
当用户点击按钮时会调用下面的方法
-(void)AddAppointment :(UIButton *)sender
{
int DATA=(int)sender.tag;
//add data in array
[arrayApp addObject:[NSNumber numberWithInt:DATA]];
NSLog(@"AppointmentFixed=%@",arrayApp);
UIButton *btnTemp=(UIButton *)[scrlView viewWithTag:DATA];
btnTemp.enabled=false;
[btnTemp setBackgroundColor:[UIColor grayColor]];
//add array in nsuserdefault
userDefault=[NSUserDefaults standardUserDefaults];
[userDefault setObject:arrayApp forKey:@"data"];
}
我使用下面的代码来禁用那些下次用户来时已经选择的按钮
- (void)viewDidLoad
{
[super viewDidLoad];
arrayApp=[[NSMutableArray alloc]init];
//get the array from nsuserdefault (not working )
arrayTemp=[[NSMutableArray alloc]init];
userDefault=[NSUserDefaults standardUserDefaults];
arrayTemp= [userDefault objectForKey:@"data"];
//ArrayTemp doenst get any array it is just null :(
for (int i=0; i<=arrayTemp.count; i++)
{
UIButton *btn2=(UIButton *)[scrlView viewWithTag:[[arrayTemp objectAtIndex:i+1] integerValue]];
btn2.enabled=YES;
[btn2 setBackgroundColor:[UIColor grayColor]];
}
}
【问题讨论】:
标签: objective-c uibutton nsarray nsuserdefaults