Я понимаю, что вы, возможно, уже поняли это, но я хотел бы добавить дополнительную информацию для тех, кто ищет тот же ответ.
Альтернативный маршрут, который вы могли бы попробовать через:
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
В этом методе вы должны проверить, есть ли у определенных компонентов в pickerView правильный выбор.Если он не сбросил конкретный компонент (столбец - почему они просто так его не назвали) в допустимую строку с:
[pickerView selectRow:validRow inComponent:component animated:YES];
Это даст эффект, если пользователь выберет конкретныйневерная строка, она будет прокручиваться вверх (или вниз) к действительной.
Кроме того, вы можете изменить набор данных для рассматриваемого компонента и затем выполнить:
[pickerView reloadAllComponents];
Простоимейте в виду, что при настройке средства выбора вам придется выполнять эту проверку при первом запуске, поэтому по умолчанию убедитесь, что в списке выбора нет недопустимых наборов данных.