1 つのビュー コントローラーに 2 つのピッカーがあります。データ用に 2 つの 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 を使用しています。