UIPickerView和NSUserDefaults问题

时间:2010-08-08 14:24:39

标签: uipickerview nsuserdefaults

我有一个带有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];

}

谢谢!

1 个答案:

答案 0 :(得分:0)

我无法理解你的真正问题是什么。您的代码应该工作,因为您只旋转组件0而不是1.将两个组件的行存储到一个设置中存在问题。如果将组件1旋转到第20行然后加载视图,它很可能会崩溃,除非组件0也有20行。

请提供错误消息或指出错误的内容。还要确保实际调用了viewWillAppear方法。