У меня есть UIPickerView с двумя компонентами. Я хотел бы сохранить выбор пользователя и применить его в следующий раз, когда pickerView будет показан снова.Проблема UIPickerView и NSUserDefaults
Вот мой код:
- (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];
}
Спасибо!
Проблема заключается в том, что даже с этим NSUserDefaults кодом, каждый раз, когда pickerView показано, выбранный индекс в обоих компонентах равен 0. Спасибо за помощь –
Вы уверены, что viewWillAppear даже называют? Также убедитесь, что элементы сборщика были заполнены во время выполнения viewWillAppear. – Merrimack