如何将UIPickerView的第二行保存到NSUserDefaults?
我有两行pickerView,我需要保存两个NSUserDefaults的位置。 我用这段代码成功保存了第一行:
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { NSInteger selectedRow = [thePickerView selectedRowInComponent:0]; [[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:@"picker"]; }
而我不知道如何添加第二个。
有了这个代码,我带回了这个位置:
-(void)viewWillAppear: (BOOL) animated { NSUserDefaults *pickerViewSelectionDefaults = [NSUserDefaults standardUserDefaults]; [picker selectRow:[pickerViewSelectionDefaults integerForKey:@"picker"] inComponent:0 animated:YES]; [picker selectRow:[pickerViewSelectionDefaults integerForKey:@"picker"] inComponent:1 animated:YES]; }
尝试这个:
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { NSInteger selectedRow = [thePickerView selectedRowInComponent:component]; NSString *key = [NSString stringWithFormat:@"picker%d", component]; [[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:key]; }
和这个
-(void)viewWillAppear: (BOOL) animated { NSUserDefaults *pickerViewSelectionDefaults = [NSUserDefaults standardUserDefaults]; [picker selectRow:[pickerViewSelectionDefaults integerForKey:@"picker0"] inComponent:0 animated:YES]; [picker selectRow:[pickerViewSelectionDefaults integerForKey:@"picker1"] inComponent:1 animated:YES]; }
添加他们与单独的密钥。
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent: (NSInteger)component { NSInteger selectedRow = [thePickerView selectedRowInComponent:0]; [[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:@"pickerRow1"]; [[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:@"pickerRow2"]; }