我有一个带有2个组件的UIPickerView。 我想保存用户的选择,并在下次再次显示pickerView时应用它。
这是我的代码:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSUserDefaults *pickerViewSelectionDefaults = [NSUserDefaults standardUserDefaults];
[pickerViewSelectionDefaults setInteger:row forKey:@"pickerViewSelectionKey"];
[pickerViewSelectionDefaults synchronize];
}
}
和...
- (void)viewWillAppear:(BOOL)animated {
NSUserDefaults *pickerViewSelectionDefaults = [NSUserDefaults standardUserDefaults];
[pickerView selectRow:[pickerViewSelectionDefaults integerForKey:@"pickerViewSelectionKey"] inComponent:0 animated:YES];
}
谢谢!
答案 0 :(得分:0)
我无法理解你的真正问题是什么。您的代码应该工作,因为您只旋转组件0而不是1.将两个组件的行存储到一个设置中存在问题。如果将组件1旋转到第20行然后加载视图,它很可能会崩溃,除非组件0也有20行。
请提供错误消息或指出错误的内容。还要确保实际调用了viewWillAppear方法。