У меня есть ViewController с парование viewDidLoad:UIPickerView не выбирает правильную строку
- (void)viewDidLoad
{
[super viewDidLoad];
model = [GlobalDataModel sharedDataModel];
programTypes = @[@"Gewichtsreduktion", @"Verdauungs-/Stoffwechselprobleme", @"Energielosigkeit, Müdigkeit",
@"Stress, Burn-out", @"Unruhe, Schlaflosigkeit", @"Immunsystem, Hautprobleme", @"Sport - Muskelaufbau", @"Sport - Ausdauersport", @"Sport - Leistungssport"];
int row = 8; //[model.infoDictionary[@"programmtyp"] intValue];
[programTypePicker selectRow:row inComponent:0 animated:NO];
}
и этот делегат-методов UIPickerView:
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return programTypes.count;
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row
forComponent:(NSInteger)component {
return programTypes[row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
model.infoDictionary[@"programmtyp"] = [NSString stringWithFormat:@"%ld",(long)row];
}
Проблема заключается в том, что в viewDidLoad , когда я устанавливаю row = 8, он всегда будет выбирать не последнюю строку - вместо второй строки (вместо «Sport - Leistungssport» он выбирает «Sport - Ausdauersport»). Когда я использую строку меньшую, чем 8, она будет работать правильно.
Может ли кто-нибудь помочь мне, что я делаю неправильно? - Спасибо.
эй человек, которого вы сохранили много времени! после того, как много ответов попробовало это работает наконец ....... !!!!! –