具有更改值的UIpicker数组

时间:2011-07-27 14:52:20

标签: iphone objective-c uipickerview

我正在创建一个使用选择器的应用程序,让用户选择年龄和其他一些输入。例如:我有一个按钮年龄,当用户点击它时,选择器显示年龄。我设法为所有输入添加单独的选择器,我怎么遇到为每个选择器设置不同数组的问题。

- (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 个答案:

答案 0 :(得分:1)

- (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在某个地方丢失了吗?

答案 1 :(得分:0)

为什么不将一个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;

}