UIpicker массив с изменяющимися значениями - PullRequest
0 голосов
/ 27 июля 2011

Я создаю приложение, которое использует средство выбора, чтобы позволить пользователю выбирать возраст и несколько других входных данных. например: у меня есть кнопка возраста, когда пользователь нажимает ее, сборщик показывает возраст. Мне удалось добавить индивидуальный сборщик для всех входов, но когда у меня возникают проблемы с настройкой различных массивов для каждого сборщика.

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
    if (pickerview == picker) {
        return [pickerViewArray objectAtIndex:row];
    }
    else if (pickerview == stagepicker)
        return [stagepickerarray objectAtInde:row];
    }
}

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
    if (thePickerView == picker){ return [pickerViewArray count]; }
    else if (thePickerView == stagepicker){ [stagepickerarray count]; }
}

вышеупомянутый метод не работает для меня! Я делаю это правильно?

Ответы [ 2 ]

1 голос
/ 29 июля 2011
- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 
    if (pickerview == picker) {

Разве это не похоже на pickerview должно быть написано thePickerView вместо этого?

return [stagepickerarray objectAtInde:row];

Разве это не звучит так, как objectAtInde должно быть objectAtIndex?

else if (thePickerView == stagepicker){ [stagepickerarray count]; }

Разве это не похоже на то, что return где-то отсутствует?

0 голосов
/ 29 июля 2011

Почему бы не использовать один UIPickerView с несколькими компонентами?Что-то вроде:

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {

NSInteger numberOfRows;

if (component == 0) {
     numberOfRows = [anArray count];
}
else if(component == 1) { 
    numberOfRows = [anotherArray count];
}
else { 
    numberOfRows = [aThirdArray count];
}

return numberOfRows;

}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {

NSString *stringIndex = [NSString stringWithFormat:@"TEST"];
if(component == 0) {

   return stringIndex = [anArray objectAtIndex:row];
}

else if(component == 1) {
    return stringIndex = [anotherArray objectAtIndex:row];
}

else {
   return stringIndex = [aThirdArray objectAtIndex:row];
}

return stringIndex;

}
...