У меня есть UIPickerView с 2 компонентами.Я сохраняю выбор пользователя с помощью NSUserDefaults.Оба компонента имеют текст для сохранения строк.
По какой-то причине он сохраняет только последнюю выбранную строку и применяет ее к другому компоненту, например: если я выберу строку 0 в компоненте 0, а затем выберу строку 1 вкомпонент 1, и попытаться получить к ним доступ снова, он выбирает строку 1 в обоих компонентах вместо строки 0 и строки 1.
Вот мой код сохранения:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSUserDefaults *pickerSelectionDefaults = [NSUserDefaults standardUserDefaults];
[pickerSelectionDefaults setInteger:row forKey:@"leftComponentSelectionKey"];
[pickerSelectionDefaults setInteger:row forKey:@"rightComponentSelectionKey"];
[pickerSelectionDefaults synchronize];
}
- (void)viewWillAppear:(BOOL)animated {
NSUserDefaults *pickerSelectionDefaults = [NSUserDefaults standardUserDefaults];
[enginesPicker selectRow:[pickerSelectionDefaults integerForKey:@"leftComponentSelectionKey"] inComponent:0 animated:YES];
[enginesPicker selectRow:[pickerSelectionDefaults integerForKey:@"rightComponentSelectionKey"] inComponent:1 animated:YES];
}
Спасибо!