我在单个视图控制器中有两个选择器。他们使用两个 NSArray 来存储数据。
问题在于,对于两个选择器,当调用 titleForRow 方法时,组件参数的值始终为零,因此所有行都显示其数据数组中的第一个字符串。
为什么会发生这种情况,我该如何解决?
这些是我的委托方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
NSLog(@"%d",[pickerView tag]);
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: (NSInteger)component
{
NSLog(@"%d",[pickerView tag]);
if ([pickerView tag] == 0)
return providersList.count;
else
return amountList.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSLog(@"%d, %d",[pickerView tag],component);
if ([pickerView tag] == 0)
return [providersList objectAtIndex:component];
else
if ([pickerView tag] == 1)
return [amountList objectAtIndex:component];
else
return nil;
}
使用 xcode 4.3 和 iOS5。