私は UIPickerView を持っていて、2 つの列に配列の項目を入力したいのですが、その方法がわかりません。私の配列があります:
-(void)fillingStandartWeightArray{
if (!standartWeightArray){
for (int i=25; i<150 ;i++){
NSString *weightString;
weightString = [NSString stringWithFormat:@"%d kg", i];
[standartWeightArray addObject:weightString];
NSLog(@"%@", weightString);
}
}
}
-(void)fillingStandartHeightArray{
if (!standartHeightArray){
for (int i=85; i<250; i++){
NSString *heightString;
heightString = [NSString stringWithFormat:@"%d cm", i];
[standartHeightArray addObject:heightString];
NSLog(@"%@", heightString);
}
}
}
より具体的に言うと、UIPickerView にそのホイールの 1 つを 1 つの配列で埋め、もう 1 つを他の配列で埋めるように「指示」する方法がわかりません。私はこれを試しました:
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if (component == 0){
return [standartWeightArray count];
} else {
return [standartHeightArray count];
}
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if (component == 0)
return [standartWeightArray objectAtIndex:row];
else if (component == 1)
return [standartHeightArray objectAtIndex:row];
}
そして、viewDidLoadセクションで関数を呼び出しました:
- (void)viewDidLoad
{
[super viewDidLoad];
[self fillingStandartWeightArray];
[self fillingStandartHeightArray];
NSLog(@"%@", standartWeightArray);
}
しかし、それはうまくいきません。