我想做一個簡單的應用程序,讓病人可以選擇預約數據。如何在同一個ViewController中獲取Nsuserdefault值?
我使用按鈕來顯示每個數據後點擊按鈕。該按鈕將禁用,因此用戶不能多次選擇相同的按鈕。我將存儲數組中的標籤(我的標籤代表數據從1到31),然後這個數組存儲在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]];
}
}
感謝您的回答我提出的鍵名相同,但我的問題仍然存在,存儲到userdefaults,這不是零和調試之前 – Priya
檢查數組發現@ Priya的問題 –