如何将UIPickerView的第二行保存到NSUserDefaults? [英] How can I save a second row of UIPickerView to NSUserDefaults?
本文介绍了如何将UIPickerView的第二行保存到NSUserDefaults?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两行的pickerView,我需要将两者的位置都保存到NSUserDefaults中.我已经使用以下代码成功保存了第一行:
I have pickerView with two rows and I need to save position of both to NSUserDefaults. I have successful saved first row with this code:
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSInteger selectedRow = [thePickerView selectedRowInComponent:0];
[[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:@"picker"];
}
我不知道如何添加第二个.
And I don't get how to add a second one.
使用此代码,我可以重新定位:
With this code I bring back the position:
-(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];
}
这篇关于如何将UIPickerView的第二行保存到NSUserDefaults?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文